PowerShell Without the Shell
Quest Software's PowerGUI tool makes it possible to have both Windows PowerShell and a comfortable graphical interface.
- By Jeffery Hicks
I'd say one of the greatest obstacles to Windows PowerShell adoption is the belief that you have to learn how to use a command line. I've come across more than one IT pro in my career -- including a few IT consultants who you'd think would know better -- who were terrified at the idea of being dumped at a command-line prompt.
However, it's possible to have both Windows PowerShell and a comfortable graphical interface.
Go to PowerGUI.org and download the free PowerGUI utility. This easy-to-use tool is produced by some hardworking folks at Quest Software, including a few PowerShell MVPs. PowerGUI is a graphical front-end that sits on top of your PowerShell installation. It'll work with PowerShell versions 1 and 2. PowerGUI has two main components: an interactive graphical management interface that executes PowerShell commands behind the scenes and a basic script editor. I'm going to focus on the former.
When you install PowerGUI, you can select from a sample of management packs. Quest refers to them as PowerPacks. You should at least be able to select Network and Local System without any problems. If you've installed the free Active Directory cmdlets that are also from Quest Software, then go ahead and select the AD option.
When you start PowerGUI, you get an expandable tree that contains the management nodes. The other panes are for displaying and customizing results. But here's the beauty: You don't have to know a single PowerShell cmdlet to use PowerGUI. In fact, you could load it on the desktop of someone who has never opened a PowerShell prompt, and that person could manage services, processes, event logs and more.
For example, when you expand the Local System node, you'll see icons for Process, Services and Drives. Selecting Services will display a sortable grid of all services on your computer. You've just used PowerShell without realizing it. Under the hood, PowerGUI is running Get-Service and returning the results to the graphical grid. Need to restart a service? Select the service in the grid and click on the Restart Service action. You've just run the PowerShell cmdlet Restart-Service. You'll also see common actions such as exporting data to an .XML or .CSV file. These, too, are running PowerShell expressions.
If you have other PowerShell snap-ins and modules installed, you can use them in PowerGUI to create your own management tools. PowerGUI is customizable and extensible. Obviously, the more PowerShell experience you have, the further you can take it.
There's an active PowerGUI community, and many people have created their own PowerPacks -- and made them freely available. You can download these from PowerGUI.org. There's even a contest each year for the best PowerPack. I was a judge this past year.
Do you manage VMware? Then you'll want to download the VMware PowerPack by Alan Renouf, this year's contest winner. You can find PowerPacks for certificate management, file management, AD, IIS, SMS and more. And remember, none of this requires that you open a single PowerShell prompt or type a single PowerShell command. If you really want a prompt, however, you can open one directly from PowerGUI.
While you can peek behind the scenes in PowerGUI by looking at node and command properties, I personally wouldn't recommend this as a way to learn PowerShell. Often the code you'll see is really written to produce the best results for PowerGUI; it's not necessarily the same code you'd use to accomplish the task natively in the console. Still, the code samples are great to work with when building your own PowerPacks and customizing PowerGUI.
So, if you want to bring PowerShell into your organization but are facing command-line concerns, try PowerGUI and let the fun begin.
Jeffery Hicks is a multi-year Microsoft MVP in Windows PowerShell, Microsoft Certified Professional and an IT veteran with almost 25 years of experience, much of it spent as an IT infrastructure consultant specializing in Microsoft server technologies with an emphasis in automation and efficiency. He works today as an independent author, trainer and consultant. Jeff is a regular contributor to a variety on online sites, as well as frequent speaker at technology conferences and user groups. Keep up with Jeff and his projects at http://jdhitsolutions.com/blog.