PowerShell by Thomas Lee (PowerShell MVP)

As many IT Pros already know, unless you have been living in a cave, PowerShell is one of Microsoft’s administrative task automation platforms. It is designed to enable IT Pro’s to manage all aspects of a Windows system. PowerShell first hit the streets in 2003 as a beta, codenamed Monad, and is now loaded by default in both Windows 7 and Server 2008 R2. PowerShell provides a wealth of cmdlets, small programs that do useful things, e.g. getting a user from AD, or removing an Exchange mailbox. Cmdlets, named using a verb-noun syntax (e.g. Get-ADUser or Remove-Mailbox) are object oriented, consuming and producing objects (typical Unix shells just produce text). Additionally, you can string together cmdlets using the Pipeline. Taken together these key features provide a dramatically simpler approach to administrative scripting.

PowerShell comes with a simple command prompt (looking very similar to cmd.exe) and the Integrated Scripting Environment, a light weight IDE to help you develop great PowerShell scripts. PowerShell has a C# like language that enables you to orchestrate the various cmdlets to deliver automation solutions to the hard pressed IT Pro quickly and easily.

Applications, Windows components and the wider community can easily add new cmdlets to provide additional functionality. Applications like Lync Server and Exchange each have over 500 cmdlets. Additionally, these cmdlets provide the basis for the application’s GUI whereby the full administrative experience is delivered by cmdlets and then a friendly GUI provides access to the most common administrative features. Some key things you need to know about PowerShell include:

  • Windows 2008 R2 and Windows 7 come with PowerShell loaded and a large set of task specific cmdlets (e.g. cmdlets for Server Manager, Clustering, Active Directory, etc.). PowerShell is now in the box.
  • All the key Microsoft applications come with cmdlets which are the way the advanced IT Pro manages the application. Applications (e.g. Exchange, Lync, System Centre VM Manager, etc.) do come with GUIs, but the GUI no longer does everything. If you want to manage applications, you NEED PowerShell.
  • PowerShell is the future of Windows Administration. For the IT Pro, if you don’t know PowerShell, you need to practice saying “Do you want fries with that?”

So how do you learn more about PowerShell? There is an outstanding, rich and vibrant online community out there, including PowerShell.Com, PowerShellCommunity.Org and The Scripting Guys Forum. There’s the official MOC training course as well as some outstanding 3rd party training offerings. And of course, you can find reams of information on TechNet and MSDN not to mention a wealth of blogs by PowerShell MVPs and others.

And for those of you in the UK, I’ll be covering all of PowerShell at the upcoming PowerShell PowerCamp weekend event!

So go out and learn PowerShell. It’s the future of Windows and Windows applications.

Further Resources: