Skip to main content

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.

Comments

Unknown 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

Popular posts from this blog

Adding a Comment to a GPO with PowerShell

As I'm writing this article, I'm also writing a customization for a PowerShell course I'm teaching next week in Phoenix.  This customization deals with Group Policy and PowerShell.  For those of you who attend my classes may already know this, but I sit their and try to ask the questions to myself that others may ask as I present the material.  I finished up my customization a few hours ago and then I realized that I did not add in how to put a comment on a GPO.  This is a feature that many Group Policy Administrators may not be aware of. This past summer I attended a presentation at TechEd on Group Policy.  One organization in the crowd had over 5,000 Group Policies.  In an environment like that, the comment section can be priceless.  I always like to write in the comment section why I created the policy so I know its purpose next week after I've completed 50 other tasks and can't remember what I did 5 minutes ago. In the Group Policy module for PowerShell V3, th

Return duplicate values from a collection with PowerShell

If you have a collection of objects and you want to remove any duplicate items, it is fairly simple. # Create a collection with duplicate values $Set1 = 1 , 1 , 2 , 2 , 3 , 4 , 5 , 6 , 7 , 1 , 2   # Remove the duplicate values. $Set1 | Select-Object -Unique 1 2 3 4 5 6 7 What if you want only the duplicate values and nothing else? # Create a collection with duplicate values $Set1 = 1 , 1 , 2 , 2 , 3 , 4 , 5 , 6 , 7 , 1 , 2   #Create a second collection with duplicate values removed. $Set2 = $Set1 | Select-Object -Unique   # Return only the duplicate values. ( Compare-Object -ReferenceObject $Set2 -DifferenceObject $Set1 ) . InputObject | Select-Object – Unique 1 2 This works with objects as well as numbers.  The first command creates a collection with 2 duplicates of both 1 and 2.   The second command creates another collection with the duplicates filtered out.  The Compare-Object cmdlet will first find items that are diffe

How to list all the AD LDS instances on a server

AD LDS allows you to provide directory services to applications that are free of the confines of Active Directory.  To list all the AD LDS instances on a server, follow this procedure: Log into the server in question Open a command prompt. Type dsdbutil and press Enter Type List Instances and press Enter . You will receive a list of the instance name, both the LDAP and SSL port numbers, the location of the database, and its status.