Ah, PowerShell. A simple blue window and some text has transformed the world of Windows administration from a point-and-click GUI to scripts that automate everything, as well as provide log rotation and identity lifecycle management and govern which server receives which updates.
Everything in the newest versions of Windows Server as well as Microsoft 365, Azure, Intune, Viva, and all of the other cloud jazz is accessible primarily via PowerShell and only secondarily (and sometimes even not at all) via the server’s GUI or a web interface. That means PowerShell knowledge has become a must. Sometimes, though, it is difficult to know whether you are proceeding correctly. Luckily, there are resources available that will help speed you along in your training and professional responsibilities.
In this slideshow, I will highlight seven resources for immersing yourself in the PowerShell world. Whether you’re writing scripts, working in a DevOps-oriented environment, or administering software from vendors other than Microsoft using PowerShell, there is something for everyone in this group of resources. Best of all, they are mostly free (as in beer), save for two excellent paid products — one with a limited free-forever version and one with a 45-day free trial.
What are you waiting for? Let’s dive in.
This story was originally published in March 2015 and updated in March 2023.
1. Ironman PowerShell Universal
PowerShell Universal is an incredibly useful administration and development tool that helps you build web-based PowerShell scripts and run them all from one spot. Think of PowerShell Universal as a whiteboard for building scripts that contain APIs (either newly created APIs or ones you build yourself), invoking other scripts (including the built-in PowerShell cmdlets and scripts that come with many server applications), and delegating abilities to other administrators — the idea being you have a central repository for administrative capabilities customized to your specific environment.
PowerShell Universal comes with a number of available templates to help you get started with various tasks, including administering Active Directory users and groups, building terminal-based user interfaces for more complicated scripts to handle different inputs and cases, converting C# code to and from PowerShell, and more. If you need to do it in PowerShell, this tool can probably make it look better, run more accessibly, and make it easier for your staff to use over and over.
There’s a free version that doesn’t include enterprise features, which are available for $500 per server (server being defined as where the scripts and server interface are hosted), with discounts available for more than one server. Available for just about every platform, including Windows, Linux, Mac, and Docker.
2. ScriptRunner ActionPacks script collections
Sometimes, and especially if learning PowerShell is not your full-time job, learning by example from other scripts is a quick way to get stuff done. You can see how another scripter made a tool, adjust it and customize it to your needs based on more targeted research — “OK, I see how she’s taking the results and putting them into an array, and then feeding those results one by one to another cmdlet, so I can use the same approach with this set of data” — and cut your Time to Fully Functioning Script considerably.
There are few better places to look for inspiration and example than ScriptRunner’s set of PowerShell scripts. There are more than 1,500 scripts spread across topics such as Active Directory, Exchange, Microsoft 365, VMware, Windows Server, and more. They are all easily accessible on GitHub and freely available for download. Marry these sample scripts with some automation and accessibility glue from the previously profiled Ironman PowerShell Unlimited, and you have yourself a powerful base from which to start your automation journey.
Free.
3. Visual Studio Code and PowerShell for Visual Studio Code
When I first wrote this story in early 2015, Visual Studio Code had not yet been born, and the world was a darker place. Script editing happened in Notepad or third-party text editors. Colors were pale. Food tasted bland.
Perhaps that’s a bit of hyperbole, but if you’re not familiar with VS Code, it is Microsoft’s tremendously useful and free code editor, a lighter-weight but still powerful version of its industrial-strength Visual Studio integrated development environment (IDE). VS Code contains a lot of helpful features for manipulating and writing code and scripts, and the PowerShell for Visual Studio Code plug-in lights up some special treats within the product for the PowerShell language, including syntax highlighting, code snippets, IntelliSense (for helping you write the proper syntax in cmdlets right within the context of the editor window), navigation features like Go To and Find for cmdlets and variables, local script debugging, and — perhaps most importantly — a choice of color schemes.
Visual Studio Code is extremely handy to have around for a lot of tasks, including quick text editing, marking up HTML documents, whipping up quick shell scripts, and more. The PowerShell plug-in makes it all the more useful. Both are available for free and absolutely worth an immediate download and install.
Free.
4. Sapien Technologies PowerShell Studio 2023
More advanced PowerShell developers and administrators need more advanced tooling, and PowerShell Studio 2023 from Sapien is the first place to look. When you first open PowerShell Studio, you are immediately reminded of Visual Studio, and for good reason: PowerShell Studio is as much an integrated scripting environment as Visual Studio is an integrated development environment.
Features include Ribbon, remote debugging support, compiler features that let you turn scripts into executable files, support for multiple versions of PowerShell (useful for targeting scripts to different servers running different levels of the Windows Server operating system), source control for checking in and out script code, and support for multiple developers. All of which make this an obvious choice for shops where administrators and developers work together on building advanced PowerShell scripts to handle a variety of scenarios.
It is a little pricey: $499 per perpetual license, or you can subscribe for a year at $25/month or $250 single payment. And be warned: its setup program says you need over 5GB of space to install it. (I guess it’s a good thing storage is cheap these days.) But considering all of the product’s functions, if you live in this part of the PowerShell world, it is well worth the cost of admission, and you can try a 45-day test drive to see if it works for you.
5. Amazon AWS Tools for PowerShell
Since its release in 2006, PowerShell has become ubiquitous as a scripting language for administrative use in large server systems. Even a competitive cloud service like Amazon Web Services recognizes that (a) Windows Server is huge, (b) lots of administrators are learning PowerShell, and (c) anything that lets administrators manage Amazon services more easily increases the likelihood that an Amazon server will stick in any given enterprise. Thus, the AWS Tools for PowerShell were born.
With AWS Tools for PowerShell, you can manage virtual machines and service instances that are running in the Elastic Compute Cloud (EC2), or write scripts that automate the management of any workloads you have running in a variety of Amazon services. The tools install a bunch of cmdlets into your PowerShell “sphere of influence” and let you manage and script tasks like backing up data from virtual machines in EC2 to the Simple Storage Service (S3) or logging and publishing metrics to the Amazon CloudWatch personal dashboard.
If you know PowerShell and you use Amazon cloud services, these tools will be a great addition.
Free.
6. PowerShell Tools for Visual Studio and Visual Studio Code
Another useful package from Ironman Software is PowerShell Pro Tools, a software bundle that makes writing PowerShell code easier in both Microsoft’s main Visual Studio product as well the freely available Visual Studio Code editor.
This project integrates within Visual Studio, brings syntax highlighting and colors to the IDE, and adds IntelliSense support for automatically completing syntax elements like variables, cmdlets, and arguments as you type within a Visual Studio window. It also extends options for configuring Visual Studio projects so you can keep your scripting efforts organized and together, extends support for scripting arguments with the MS Build compiler, and supports script debugging via breakpoint and breakpoint pane support. It also extends some testing features with Pester and PSate test adapters.
For individuals, costs range from $10 monthly to a one-time perpetual license of $100; there’s also an Ironman Bundle that includes perpetual licenses to PowerShell ProTools and PowerShell Universal for $150. Prices are modestly higher for organizations: $20/user/month or $200/user for a perpetual license.
7. VMware PowerCLI
Like Amazon, VMware has figured out that, in some respects, making nice with your competitors for the benefit of your mutual customers is not a bad thing. To that end, VMware created PowerCLI, a command line-based environment for managing VMware vSphere resources that integrates PowerShell throughout.
The PowerCLI environment is basically a bunch of cmdlets that interact with vSphere and vCloud. It also provides interfaces based on C# and PowerShell for the various APIs that are exposed by the VMware products. If you are a VMware shop and want to get your hands on PowerCLI, head over to this link. Is it not great when everyone plays nicely together in the sandbox?
Free, with a free cmdlet reference as well.