With the release of Windows 8.1 and Windows Server 2012 R2, Microsoft has also released the next generation of PowerShell: PowerShell 4.0. As with every new PowerShell release, they’ve added a few new things to make the administrator’s life just a little bit easier right out of the box—features like Desired State Configuration and enhanced debugging, not to mention the collection of new cmdlets that won’t disappoint even the most experienced PowerShell administrator.
This new version is only the tip of the iceberg. There is so much more under the surface that has been added to the colossal game changer that is PowerShell. With a whole new supporting cast of systems joining the team, you can do so much more with PowerShell than you probably thought possible.
So let’s cut right to the chase and talk about some of these great new features and some of the new systems joining the PowerShell family.
PowerShell 4.0 Release
You don’t always get everything you want out of a new release, however this new version of PowerShell sure comes close. It’s packed full of new cmdlets and features that I’ve heard my fair share of PowerShell administrators beg for. It might be faster to say what it doesn’t have, but let’s look at a short list of haves anyway:
As with every new addition of PowerShell, we have a new list of cmdlets that are sure to excite administrators everywhere, regardless of what they manage using PowerShell. There are far too many to list here, but each of the categories below includes a list of new cmdlets:
- VPN configuration
- Start screen
- DISM (part of WADK)
- NAT management
Desired State Configuration
This new feature includes a set of declarative language extensions and tools to help the administrator deploy and manage configuration data for systems. This can be used for those repetitive tasks we tend to get sick of setting up over and over again, ensuring we don’t miss any of those pesky configuration details.
Change to Default Execution Policy
The new default execution policy has been changed to RemoteSigned. This will ensure you won’t have any more issues testing your scripts locally before you publish them into production.
Say you want to run a command against a remote computer and you forgot one of those elusive required parameters, so you seek help from some examples. This new feature will ensure that you can save the help file for that module installed on the remote computer so your help is available when you need it.
When PowerShell 2.0 was released, I recall some skeptics claiming that PowerShell was just a phase and that it would pass without major impact on automation or the everyday life of a systems administrator. That has definitely not been the case. If anything, it’s become more expansive and vital. Windows Azure, System Center suite, and Exchange have only been improved with the PowerShell functionalities that have been added to the ever-growing list of capabilities in the PowerShell repertoire.
As PowerShell continues to develop and grow, so does the need for administrators skilled in its implementation. A staggering number of applications and platforms are running on top of or depend on PowerShell, and with that shift, it’s becoming increasingly difficult to be effective as a systems administrator without knowing how to use it properly.
So, as the popular wallpaper of PowerShell administrators and a twisted quote on an overplayed meme say, “Keep calm and learn PowerShell.”
About the Author
Based out of Atlanta, Mark Baugher (MCT, MCSE, MCSA, MCITP, MCTS, MCP, A+, Network+, Security+, CWNA) is a senior Microsoft instructor at Global Knowledge, specializing in enterprise infrastructure design, management, and automation. Given his passion for technology and training, Mark has helped a multitude of students successfully achieve Microsoft certification at institutions such as Virginia Polytechnic Institute and the Georgia Institute of Technology.