5 free PowerShell tools to ease your Windows management pain

You had to see this one coming. After all, I wrote a book about it. However, I'm still amazed at the number of people that don’t know what PowerShell is. So, here is my pitch, hopefully people

PowerShell
take notice: Those of us that have suffered through the Windows Script Host era, and glued together Windows command-line tools can now rejoice in something that is powerful. Released in late 2006 (yes almost two years ago), PowerShell is Microsoft’s improved command-line shell and scripting language. Built on the .NET Framework, PowerShell is an object orientated shell that is geared to make command-line or script based systems management “simple” for an IT Pro.

The bottom line is that Microsoft has learned from its mistakes, thus PowerShell. Additionally, Microsoft is fully committed to making PowerShell the interface by which its operating systems and server platforms are managed. Just look at this list of Microsoft products that use PowerShell:

  • Operating systems, from Windows XP to Windows Server 2008 (it’s included with WS 2008)
  • Exchange Server 2007 System Center Operations Manager 2007
  • System Center Operations Manager 2007
  • System Center Data Protection Manager V2
  • System Center Virtual Machine Manager
  • SQL Server 2008
  • More on the way and I'm sure I've missed some. :>)

PowerShell is a powerful automation tool, and if you haven’t downloaded it and starting play with you are missing out on what it can do for you. But whether you are a PowerShell newbie or an old hand, you don't have to go it from scratch. I've assembled for you a great list of ready-made PowerShell tools that will seriously reduce the effort it takes to manage manage your Windows environment.

Jump to a specific tool from this list, or page through to read about them all.

PowerShell WMI ExplorerPowerGUIPowerShell management Library for Hyper-VPSHX-SapienPowerPromptHere  

PowerShell WMI Explorer

If you are a Windows scripter, then you must remember Script-o-Matic.

PowerShell
Well, “The PowerShell Guy” (aka MoW) sat down some time ago and decided to make a PowerShell-based version of Script-o-Matic called the “PowerShell WMI Explorer.”

However, unlike Script-o-Matic (which just pumped out scripts to list the properties for WMI classes) MoW’s PowerShell WMI Explorer can be used to get help information for WMI classes (methods and properties) and to generate template PowerShell scripts for using a class and its members.

Bottom line: the PowerShell WMI Explorer is a great tool because it allows you to easily explore and use WMI classes present on a machine.

Click to enlarge image.

PowerGUI

I blogged about PowerGUI about a year ago. Well Dimtry and team continue to push on with enhancing this cool tool.

PowerShell
For those not familiar with PowerGUI, it’s an extensible GUI based the PowerShell console. Think of it as a command console to rule them all. :>)

The basic premise behind PowerGUI was to give IT Pros a familiar way to combine together or mash together a set of common scripts. So, in a sense it is a nice interface for organizing repetitive tasks. For example, install Quest’s AD cmdlets. Then write a set of scripts for managing objects in AD. Next, organize those scripts in your PowerGUI and like magic, you have just built your very own AD management console.

If that wasn't enough, the PowerGUI is a free community effort from Quest. The PowerGUI community is constantly adding these things called “PowerPacks” which are pre-built nodes/scripts that you can add into your own console. But, wait there is more! PowerGUI also comes with its own IDE called PowerGUI Script Editor. I use this editor almost exclusively to write my PowerShell scripts. Yes, I finally gave up Notepad. You can’t beat the price (free!) and the fact that it’s a darn good script editor.

Bottom line: download PowerGUI, use it and thank Dimtry and his band for their efforts.

Click to enlarge image.

PowerShell management Library for Hyper-V

These Hyper-V functions are another item that I have touched on before.

PowerShell
However, I can’t express how ecstatic I was when I found this project on CodePlex. After all, it seemed like we were doomed to building our own automation scripts for Hyper-V by having to think about WMI (ouch!). Instead, someone else has done the thinking for us. :>)

Now, by just downloading the latest beta version of the Hyper-V library project and then “dot sourcing” the hyperv.ps1 script file in your console session or script file, we have functions such as:

  • Get-VM, Choose-VM
  • New-VMConnectSession
  • List-VMState, Set-VMState, Convert-VmState, Ping-VM, Shutdown-VM , Start-VM, Stop-VM, Suspend-VM, Get-VMKVP
  • Backup-vm, Export-VM, Get-VMSnapshot, Choose-VMSnapshot, Apply-VMSnapshot, New-VMSnapshot, Remove-VMSnapshot, Get-VMSnapshotTree
  • New-VM, Remove-VM, Set-VM, Get-VMCPUCount, Set-VMCPUCount, Get-VMMemory, Set-VMMemory
  • Get-VMDiskController, Add-VMSCSIController, Remove-VMSCSIcontroller, Get-VMDrive, Add-VMDRIVE, Remove-VMdrive, Get-VMDisk, Add-VMDISK, Set-VMDisk, List-VMDisk, Get-VMFloppyDisk, Add-VMFloppyDisk, Add-VMNewHardDisk
  • Get-VMNic, List-VMNic, Choose-VMNIC, Add-VMNIC, Remove-VMNIC, Set-VMNICAddress, Set-VMNICConnection, Get-VMNicport, Get-VMnicSwitch, Choose-VMSwitch, New-VMSwitchPort, Get-VMByMACaddress
  • Get-VHDDefaultPath, Get-VHDInfo, New-VHD, Compact-VHD, Mount-VHD, Unmount-VHD

Bottom line: if you are serious about automating your Hyper-V farm, and you don’t want to go the System Center Virtual Machine Manager route or write your own code, then these functions are for you.

Click to enlarge image.

PowerShell for Hyper-V

PSHX-Sapien

PSHX-Sapien is yet another free tool, or rather set of cmdlets, that you can use when building your very own PowerShell command center.

PowerShell
Installing the tool is a little tricky if you’re not familiar with registering an assembly on your machine. But Sapien is nice enough to provide the steps in a readme. Just be sure to remember the Framework path differs between 64-Bit and 32-Bit machines.

Anyhow, once you have registered the assembly, you can then add the PSHX-Sapien snap-in into your PowerShell console. Once “snapped in” you then have access to a number of cmdlets that should make certain things easier. For example, there is a cmdlet that can be used to test if the local computer is connected to a network, there are two cmdlets that can be used to duplicate the InputBox and MsgBox functionality from VBScript.

Bottom line: PSHX-Sapien gives you some nice-to-have cmdlets. Furthermore, this set of cmdlets serve to illustrate PowerShell’s ability to extended.

Click to enlarge image.

PSHX-Sapien

PowerPromptHere

PowerPromptHere is not really a tool, but more of a replacement to Visual Studio’s Command Prompt/Batch File.

PowerShell
So, for those scripters that like to spawn a PowerShell console session in a particular folder we might be looking at using a Windows Explorer shell extension. The PowerPromptHere extension is the thing to have. To install the shell extension, download the .inf from Scott’s site, and right mouse click and click “Install.” Once done, you can PowerPromptHere to your heart’s content.

Bottom line: PowerPromptHere is yet another gadget that reduces the amount work I need to do. Be sure to thank Scott Hanselman for this one.

Click to enlarge image.

PowerPromptHere


Again, here's the full list of 5 free PowerShell tools to ease your Windows management pain. Have you got a favorite not listed here? Please post me a comment about it.

Introduction to PowerShellPowerShell WMI ExplorerPowerGUIPowerShell management Library for Hyper-VPSHX-SapienPowerPromptHere  

Like this? Also check out

6 free security tools you shouldn't live without

20 great Windows open source projects you should get to know

The Microsoft Subnet home page for more blogs, plus giveaways, podcasts, news and more.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Now read: Getting grounded in IoT