Handy Powershell Modules and Snap-Ins
Today I want to talk about some of my favorite modules and snap-ins that I use to make Powershell really do some heavy lifting.
VMware PowerCLI -- If you have a VMware environment, then this is a handy thing to have. While I don't use it to create VMs or hosts, I do use it to run a report every morning to let me know what the status of my VMware infrastructure is. I also use it if I need to do something repetitive, like reboot a bunch of Virtual Machines.
Quest ActiveRoles Management Shell -- Quest has created this free Powershell snap-in to help you with Active Directory management. There is a Microsoft Active Directory module to use with Powershell, and I use it as well, but for some things I prefer using Quest's.
PSCX -- The Powershell Community Extensions include many commandlets which add tremendously to the utility of Powershell. Some of my favorites include:
- Out-Speech -- you can have some fun with this one!!
- Clipboard manipulation -- Set-, Get-, Write-, and Out-Clipboard
WASP -- While I haven't done anything useful with it (yet), the ability to control the Windows GUI, as well as initiate mouse and keyboard events from within Powershell is a powerful ability.
BSonPosh -- This module includes quite a few advanced capabilities for system and network admins. Some of these include:
- Get-FSMO -- list your domain's FSMO role holders in one command!!!
- Commandlets for working with File Shares
- Commandlets for viewing and converting networking information (converting IP Addresses to binary, working with the routing table, etc.)
I Saved the Best For Last
This next script (note that it isn't a module or a snap-in) is an amazing piece of work. Not only has it saved me countless hours running Windows Updates during our monthly maintenance window, but it also marks the first time I saw that Powershell could construct its own GUI interface.
PoshPAIG -- This utility allows you to enter in a list of computers (or feed it the names in a text file). The application will then poll each one to see how many updates are waiting for installation. From there, you can install the updates, find out which servers need a reboot after the installation, and reboot them if need be. If I had a software of the year award, this gem would get it.
Tomorrow: What my Powershell profile looks like.