Why Learn PowerShell?

Learn PowerShell

Microsoft has increasingly emphasized a GUI-less future for its next Windows Server product. In the October 2009 issue of TechNet Magazine, Microsoft says, "It's safe to say that the single most important skill a Windows administrator will need in the coming years is proficiency with Windows PowerShell."

The handwriting is on the wall.

There are a number of current Microsoft technologies that require PowerShell cmdlets in order to perform certain processes. PowerShell can interact with a great many technologies:

NET Framework, the Registry, COM, WMI, ADSI. 

Exchange, SharePoint, Systems Center, Hyper-V, SQL.  

VMware vCenter, Cisco UCS, Citrix XenApp and XenDesktop. 

REST APIs, XML, CSV, JSON, websites, Excel and other Office applications,  C# and other languages, DLLs and other binaries, including *nix tools.

Many of the GUI interfaces that Microsoft has been designing for its various products are actually front end interfaces to PowerShell. Probably the best-known example of this is the Exchange Management Console. Although this utility looks like a standard management tool, it is built entirely on top of PowerShell. 

Microsoft designed Windows PowerShell as a tool that helps you automate and quickly solve a lot of tedious administration tasks. PowerShell offers a means to provide IT staff with menu-driven help. Support end-users without interruption. 

Tie together various desktop tools that have a command-line interface.  Build a GUI interface for your Support staff that can easily be modified by non-developers. PowerShell's capabilities allow you to simplify and automate tedious and repetitive tasks by creating scripts and combining multiple commands together.

If you are a network administrator, you will find that PowerShell very helpful in working with Active Directory there are a number of built-in commands that simplify and streamline everyday Active Directory tasks.

You do not have to learn PowerShell to use it. PowerShell is both a scripting tool and an interactive command-line tool.

Part of the design objective for PowerShell was the ability to rapidly put it into the application without the necessity of a long learning curve.

I have personally experienced in my classroom individuals go from essentially little or no knowledge of PowerShell to applying PowerShell techniques in their production environments in the same week they were taking the class.

Additionally, you will have to deal with PowerShell related questions in many of your certification exams.