Powershell is integrated into almost off of Microsoft's latest software. This is one of the reasons why PowerShell is expandable. One way that Powershell is expanded is through the use of Snapins. When you install software, say Exchange 2007, you also install the Exchange PowerShell Snapins for that product. For this demonstration, we will be using Exchange 2007 as our example software.
Before we install the Snapins, lets to a little test. Execute the following commands.
$a = Get-Command
This will list the number of cmdlets currently on your computer. On my test computer, I have 180 cmdlets.
If you have not installed Exchange yet (or what ever Microsoft product you want to install), do so now. If this is a workstation, you may only need to installed the support tools for the product. Read the product documentation to determine what you need to do.
This commmand should list the currently installed snapins on your computer.
This will list the snapins that have registered with PowerShell, but have not yet installed. Below is what I received.
Description: Admin Tasks for the Exchange Server
Description: Support Tasks for the Exchange Server
At this point, we need to add the snapings to PowerShell with the following commands:
Now to continue on with our little experiment type this:
$b = Get-Command
This will list the number of new cmdlets added to PowerShell. My number came out to be 525. By adding the Exchange 2007 PowerShell Snapins, we extended PowerShell's capabilties by 345 cmdlets. Go ahead and type Get-Command to see them all.