Tuesday, January 19, 2010

How to add a PowerShell Snapin

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
$a.Count
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.
Get-PSSnapin
This commmand should list the currently installed snapins on your computer.
Get-PSSnappi -registered
This will list the snapins that have registered with PowerShell, but have not yet installed. Below is what I received.
Name: Microsoft.Exchange.Mamangement.PowerShell.Admin
PSVersion: 1.0
Description: Admin Tasks for the Exchange Server
Name: Microsoft.Exchange.Management.PowerShell.Supprt
PSVersion: 1.0
Description: Support Tasks for the Exchange Server
At this point, we need to add the snapings to PowerShell with the following commands:
Add-PSSanpin Microsoft.Exchange.Management.PowerShell.admin
Add-PSSanpin Microsoft.Exchange.Management.PowerShell.Support
Now to continue on with our little experiment type this:
$b = Get-Command
$b.count
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.

1 comment:

Draek said...

How can one get PSVersion 2.0 beside that? Even with the SP2 version of Exchange 2007 which says it has Powershell 2.0 support, I still see 1.0 and not 2.0.

I am trying to run a ASP.NET 2.0 app that requires Exchange Management Admin 2.0 and not 1.0