Automation scripts allow IT professionals to use automation software to leverage scripts in a managed framework to optimize various mundane tasks. With automation being the key to running a swift and responsive IT department, scripts are essential for any network administration arsenal.
The wide availability of pre-made scripts makes this even easier by using sophisticated automation development to eliminate the need for writing and managing code, significantly reducing development costs and timelines.
What this article will cover:
- What are automation scripts, and how do they save time?
- The nature of IT automation and scripts
- Differences between scripting languages
- RMM tools and scripts
- Scripting communities and script libraries
What are automation scripts?
Batch files and scripts have long been used to automate task-oriented processes across all types of computing environments. For example, scripts are crafted to automate routine jobs like backing up/clearing event logs, everyday networking tasks, system performance monitoring and reporting, and registry changes. Script automation can also help manage user accounts, workstation accounts, applications, and services. IT teams often employ highly skilled programmers to write and maintain these scripts, which automate tasks that would otherwise be handled manually. Still, many in-house IT professionals and solo systems administrators take the job of script automation into their own hands.
Saving time with automation scripts
Transitioning from manual execution to automation using scripts was a true paradigm shift in network management. C-levels and IT executives who were looking to reduce redundancy in execution, standardize everyday tasks, cut costs, better utilize human resources, and streamline processes saw automation as the most powerful tool available.
Even now, script automation continues to evolve. Because scripts lack intuitive programmatic parameters that adapt to changing conditions, developments in robotic process automation, optimization, and scheduling are adding new layers to the IT automation revolution. While this may someday render the process of writing scripts obsolete, it’s currently a valuable and powerful skill for any IT professional to cultivate.
You may also be interested in our article How to Automate Repetitive Tasks with PowerShell.
The nature of scripting
It’s essential to know the purposes and limitations of scripts. Scripting is, first and foremost, a gap-based approach to address problems and automate tasks. Lacking any real intuition or perception, however, scripts cannot be a tool of systematic troubleshooting, maintenance, or development. In other words, we’re a long way from scripts replacing the know-how and responsiveness of a living, breathing IT professional.
Scripting technologies — i.e., VBScript, Batch, PowerShell, Python, PHP, Perl, and Javascript — function as useful tools for automating network tasks and enabling the development and launch of applications. Scripts can automate simple jobs that execute common O/S commands. Power users can also address more complex processes such as automatically generating and sending reports, batching account privilege changes, running offsite backups, or updating information in a database.
IT admins often use scripting as a first step in optimizing and aligning their resources to maximize their engineers’ time and minimize wasted man-hours. While some scripting is strategic, scripts are often written on the fly to address the “issues of the day” in a tactical manner. This comes part and parcel with the “damage control” nature of IT work that often arises.
A note on different scripting languages
With such a wide variety of scripting languages available, users often wonder which is the best to learn and implement. In truth, some languages are better suited for specific tasks than others, so your use case will largely influence your choice.
By and large, scripts like Python and PHP are used for software development, website building, and data management and often require an advanced level of skill to put to use.
Most IT administrators will instead turn to script languages like PowerShell and Batch, which are relatively easy to use in a network environment. Scripts in these languages can be found online or created for tasks like disabling updates, closing ports, clearing caches, or running reports — all functions that are common for IT teams and MSPs, but also time-consuming when they need to be done at scale.
Scripting for automation in an RMM tool
One of the most common — and useful — places for a network administrator to use automation scripts is within their RMM tool. This is why it’s crucial to choose a Remote Monitoring and Management solution that allows you to create and execute scripts easily from its centralized platform.
Look for an RMM solution that supports a wide variety of scripting languages, particularly those critical to network admins as mentioned above (PowerShell and Batch), which allows you to import scripts into your environment and code them from scratch.
The ability to import scripts is tremendous for MSPs and large IT teams. Very few IT professionals should need to sit down and script their own automations from square one because so many pre-made scripts are available — as long as you’re able to import them.
Most higher-end RMM tools will have a built-in script library with a complete arsenal of ready-made automation scripts for users to import and deploy. Beyond this, entire communities exist around the idea of creating and sharing scripts among peers. For example, hundreds of pre-made scripts are available for NinjaOne users, all built by the community (which doesn’t include the scripts in the NinjaOne library).
RMM script automation examples
Our friend Kelvin Tegelaar, tech blogger at CyberDrain.com and MSP Live Chat regular, is a significant contributor to these community scripts. Kelvin has already shared dozens of great PowerShell scripts both to script libraries and in the pages of his blog.
Some example PowerShell scripts that can be found on CyberDrain include:
- Monitoring battery health – A valuable script to report information on device batteries, including how much power they should have and the level that it’s charged.
- Detecting Log4J files – By running this script in most RMM systems, you can quickly see an overview of places you might have log4j active, which is useful when searching for files that could be affected by the Log4J issue in CVE-2021-44228.
- Disabling application consent on all tenants – This script bypasses the depreciated MSOL module to allow disabling application consent for all your tenants.
- Enabling MFA with Web-Sign In for Windows devices – Scalable deployment of this Windows feature requires the user to be online and use MFA to log onto their Windows device.
These are just a few examples of the many things that can be done with automation scripting. For example, there are many more on Kelvin’s site, so be sure to check out CyberDrain.com for more PowerShell scripts for use in NinjaOne or other tools.
Automation is the backbone of modern IT environments
IT administrators are constantly under pressure to do more with fewer resources, less time, and small budgets — in many ways, this is the nature of the profession. IT professionals are always looking for ways to optimize their workflow and best use what resources are available. Automating steps for servers and application deployments is one of those tools, able to remove many repetitive tasks from their to-do lists reliably.
Deploying and managing IT environments without automation is a mistake in the modern IT environment. Automation scripts have gone from a convenience to a necessity.
Thankfully, scripting for automation isn’t very complicated. Using an RMM tool to create and execute scripts can significantly streamline your workflow and simplify IT network operations.
IT scripting automation with NinjaOne
- The most scripts out of the box of any RMM provider
- A strong and growing community with hundreds of shared scripts
- Support for and the ability to import custom scripts in multiple languages (Powershell, Batch, Javascript, ShellScript, and VBScript)