Most assuredly you've heard of PowerShell. But perhaps you haven't had the chance to see it in action. In fact, you might not even quite grasp what it is, exactly. Is it an entire scripting language? A replacement for VBScript? Today, I'm going to crack open PowerShell and reveal what it's all about.
Primarily PowerShell is a CLI shell aimed at helping Windows admins better manage, well, just about anything, from Active Directory to Exchange to third-party apps. It's available for free download for Windows XP SP2, Server 2003, and Vista; it's built in to Server 2008.
Yes, PowerShell is a CLI, not a GUI, which lets admins know right away that it's type-y, not click-y. Nevertheless, you can use PowerShell to do some incredible things without ever writing a script. It does support a powerful scripting language (although let's make it clear that it was not meant to replace VBScript). That scripting support offers admins the opportunity to put aside their point solution tools and utilize a single CLI solution.
You may ask "Why would I want to go back to a CLI when I have a GUI administration tool?" Let's compare the difference between creating an Active Directory user through the GUI and a CLI. Imagine the amount of time it takes is one minute using the GUI to create that single user. Now imagine having to create 1,000 users by repeating that task (assuming you haven't taken other steps to script the process). Don Jones, author of the book "PowerShell TFM" used that example this past week at the TechMentor Conference in Orlando, Fla. He went on to show that you might need to do 20 minutes of research to find the exact commands required to create the users with PowerShell -- but then you can accomplish the task in minutes once you've located the syntax. Indeed, for repetitive tasks, PowerShell is your tool.
So, how does one get started with PowerShell? Quite honestly, if you know any DOS commands from the days of old, you can begin using PowerShell instead of your CMD. All the commands (DIR, CD, IPCONFIG, and so forth) work just fine. But now you are going to want to move beyond this and begin learning the 130-plus cmdlets (as commands are called) available. The cmdlets follow a simple verb-noun structure. So, for example, if you want to create a new user, you type "new-user." To see a list of services, type "get-service." And then you can utilize the information you pull from one cmdlet and pipleline that over to another set of instructions.