Why You Should Try PowerShell
I have been scripting in PowerShell for almost a decade – From batch jobs to applications.
I thought it’s a good time to pass on some of the reasons why you may want to give PowerShell a try.
What is PowerShell?

PowerShell has been included with every copy of Microsoft Window since 2009’s in Windows 7 / Server 2008 R2. It formed a new command-line management to go beyond the features and functions of the aging DOS command prompt and Windows BASH scripts.
In its simplest form PowerShell provides cmdlets for simple management of system tasks and operations. At the other end of the spectrum, PowerShell has become a language capable of creating complex functions and applications. This allows anyone new to coding an easy way to grow their skills.
It’s Everywhere!
On Window: | Just find the PowerShell icon or the now deprecated PowerShell ISE (Integrated Scripting Environment) and start scripting. It’s as simple as that. No installs required. It is worth noting that if you are using any windows system pre Windows 11 then you will be probably be using an older version of PowerShell – somewhere between 3.x and 5.x. This is not a problem for dipping your toes into the world of PowerShell, but I would recommend installing and switching to PowerShell 7 if you do start using it regularly. |
All other Operating Systems: | Since PowerShell v6 there has been the option to install PowerShell on other platforms. This was originally referred to as PowerShell Core. Since PowerShell 7 was introduce this multiplatform version of PowerShell is the only one being developed by Microsoft. This has allowed PowerShell to reach Linux, macOS, Docker Containers and ARM devices like Raspberry Pi’s. With PowerShell on version 7.3 (at time of writing) we are seeing more companies updating there modules from the deprecated PowerShell 5.x (Windows .NET framework) and taking on the modern PowerShell 7 (.NET Core Framework) You can find an install to suit you here: https://aka.ms/powershell-release?tag=stable |
Azure | Microsoft’s Azure cloud platform is a big reason to become familiar with PowerShell as Microsoft have integrated PowerShell into pretty much every aspect of the platform. |
Cmdlets (pronounced command-lets)
Cmdlets is part of the simplistic beauty of PowerShell. PowerShell insists that any Cmdlet that is created should adhere to a simple naming structure of “verb–noun“. Some examples would be:
get-process, get-item, set-item, copy-item.
There is even a command to see all the verbs available get-verb!
Get-Help
Another built-in framework is for help files to be included with each cmdlet. The quality of these help files may vary from vendor to vendor, but you can expect some great reference material when looking at Microsoft and other notable vendor cmdets.
Just put get-help before any cmdlet that you need help on and away you go. It is also worth using the -examples parameter at the end to get real-world examples of how the cmdlet can be used.
Example:
Get-help get-item -examples
Third-Party Modules
At quite an early stage (maybe v2 or v3 release) I started utilising the VMware module to integrate with vSphere™. This was a breakthrough moment for me and PowerShell as I was able to extend interactions with my VMware infrastructure and create all sorts of wild and wacky automation scripts.
There are a multitude of modules available for PowerShell. You can download modules form Cisco, HP, Dell, etc to help maintain and automate infrastructure. As well as modules for app integration like SqlServer or Azure Active Directory.
Let’s not forget the vibrant PowerShell Community that are actively creating independent scripts and modules. If there is something specific that you want PowerShell to do. There is a chance that someone has scripted it for you.
Back in the earlier stages of PowerShell (v2) importing modules was it was a bit of a ball-ache with a manual and clunky process. These days things are a lot easier with the use of the Install-Module cmdlet which queries www.powershellgallery.com as its default repository. Check it out and explore!
cAsE iNSEnSiTiVE & Forgiving
One aspect of PowerShell which I believe is truly unique is the fact that it is not case sensitive. While I would not condone the heinous act of mixing your cases while coding. As someone with mild dyslexia, I do believe that this one simple act of forgiveness at runtime allowed me to progress and write code without having constantly deal with my bad syntax.
Unlike other coding languages PowerShell also removed any need for closing lines with semi-colons “;”, although you can add then if you want. Thank you Microsoft!
In Summary
Now you have my quick takeaway on the benefits of PowerShell maybe you will take the dive and click on the little blue icon when you next see it.
Leave a Reply