Microsoft PowerShell is a versatile and powerful scripting language that can be used across multiple platforms. It allows IT administrators greater flexibility in scripting and opens a world of possibilities.
The very best RMM tools allow you to use PowerShell for scripting. There are a lot of reasons for that. We’ll touch on a few.
RMM scripting
Many RMM tools leverage their own scripting engine of one kind or another. The intention was to make a tool that provided building blocks so that an administrator who didn’t know PowerShell or another scripting language would be able to make functional scripts with the provided building blocks.
Essentially, they allow you to select objects from a menu and put them together to make your script. There are some challenges associated with this model.
Ready-made scripts likely won’t fit your exact scenario. They also won’t allow for exceptions that happen on a client-to-client basis. The one size fits all solution can be more like one size fits none.
Pre-built scripts may serve as a convenient jumping-off place that you can then customize to your needs, but don’t expect that they will do exactly as intended for all your clients out of the gate.
In addition, running a one-size-fits-all script can be dangerous. Since they haven’t been customized to meet the specific needs of your clients, running them could have unintended consequences. We recommend exercising caution when cookie-cutter scripts on several clients at once.
PowerShell
There are a lot of advantages to building your own PowerShell script library using a tool like GitHub/Gitlab.
PowerShell allows you to tailor your scripts to the specific needs of your clients and organization. It also allows you further control to avoid potential problems that could be caused by scripting.
In addition to these items what you can build is essentially limitless. As you start to build up a library of PowerShell scripts in GitHub you can leverage them and combine them to make more powerful tools that are custom fit for your client’s needs.
In addition to these advantages, GitHub allows you control of the code and the version which can be important features if you are working as part of a team.
The only disadvantage of PowerShell is that it takes some time to learn. There are numerous free resources online that allow you to increase your skills, and we think the additional functionality that PowerShell gives you is well worth the investment of your time.
Portability
Another key advantage of PowerShell scripting in your RMM is portability. Any script you write with an RMM’s built-in scripting tool will be specific to that product. If you were to try and take that script and port it over to a new RMM tool it wouldn’t work at all.
As an MSP scripting, all your automation can be a significant time investment. The ability to take that script library and port it to a different RMM solution if you so desire should be a significant consideration. Why would you spend all that time and energy building a script library that was locked to one RMM product when you could spend the same time writing in a portable language like PowerShell?
In conclusion
Selecting an RMM tool that allows you to use PowerShell to write your scripts is essential. Start with this in mind from the very beginning. Invest the time it takes to become fluent in PowerShell so that you can build a powerful, customizable scripting library that will come with you no matter what the future holds. If an RMM tool doesn’t allow you to do this, you should consider crossing it off your list. PowerShell is the future of RMM scripting.