- Sales & CRM
- Business Intelligence
Windows PowerShell is Microsoft’s task automation platform for IT professionals. It is designed to enable the automation of common IT tasks, including the control and management of just about every aspect of Windows and Microsoft’s Windows applications.
PowerShell is a key component in Windows Server 2012, and has been broadly adopted in the industry with companies like Cisco, EMC, and VMware jumping on the PowerShell bandwagon.
The technology first saw the light of day in September 2003 as an early beta product known in those days as Monad. The first formal release of PowerShell came with Windows Vista (and Server 2008. Version 2 came with Server 2008 R2 (and Windows 7). The most recent version ships with Windows 8 and Server 2012. Version 3 is also available for Server 2008/R2 and Windows 7.
PowerShell comes with a simple text-based shell, similar to Cmd.Exe and a graphical tool called the Integrated Scripting Environment (ISE). The ISE is an updated shell that handles Unicode. The text-based shell did not handle Unicode – which meant users in countries such as Japan and China could not easily use the shell. The ISE is also extensible and a great, free, development tool to help admins build and manage scripts.
PowerShell, both the shell and ISE, has three key constituents:
PowerShell has been broadly embraced by all of the application teams at Microsoft as well as by Microsoft customers as the way forward for automation. PowerShell can also be used to manage on-line software packages such as Office 365.
PowerShell task automation – so what?
So far, so good but what’s in it for the smaller company? Legions of Windows Small Business Server users and administrators have managed their systems quite successfully for years – so why bother now? PowerShell experts may view the answer to be self-evident. But it does tax the minds of many who are seeing PowerShell for the first time and who don’t want to become programmers!
However, there’s a huge advantage in getting to grips with the technology. PowerShell enables companies to reliably automate pretty much any computing task in the Windows Platform. And with the advent of Version 3, the scope of what can be achieved widens to include products from companies like Cisco, EMC and VMware.
Every IT pro in any sized company is faced with performing repetitive tasks – simple things ranging from creating a new user (and removing that user when the employee leaves), changing passwords, adding users to groups, etc.
There are ways around this. Admins can fire up the Active Directory Users and Computers MMC, and click their way through the process of adding the new users. But with a little bit of effort it’s possible create a script that takes a CSV file (e produced using Excel) and adds/removes/updates user accounts. The time taken to write the script will be more than repaid in the speed of managing new users (see here for a sample script and a sample CSV file).
Of course, these days, a new employee does not just need an Active Directory account, but an Exchange Mailbox, a default home folder, access to Lync and SharePoint, etc. But it would be straightforward to extend this script to achieve these extra goals.
There’s a saying in IT circles that any Unix administrator worth his/her salt, faced with doing any task a third time will write a script to achieve it. With PowerShell this becomes true of Windows admins!
In addition to the productivity a PowerShell script can provide, using PowerShell to automate common tasks offers two significant extra benefits: