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

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.

How to run GPResult on a remote client with PowerShell

In the past, to run the GPResult command, you would need to either physically visit this client, have the user do it, or use and RDP connection.  In all cases, this will disrupt the user.  First, you need PowerShell remoting enabled on the target machine.  You can do this via Group Policy . Open PowerShell and type this command. Invoke-Command –ScriptBlock {GPResult /r} –ComputerName <ComputerName> Replace <ComputerName> with the name of the target.  Remember, the target needs to be online and accessible to you.

Where did a User’s Account Get Locked Out?

Updated: May 15, 2015 When this article was originally published, two extra carriage returns were add causing the code to malfunction.  The code below is correct.   My client for this week’s PowerShell class had a really interesting question. They needed to know where an account is being locked out at. OK, interesting. Apparently users hop around clients and forget to log off, leading to eventual lock out of their accounts. The accounts can be unlocked, but are then relocked after Active Directory replication. This problem is solved in two parts. The first one is to modify the event auditing on the network. The second part is resolved with PowerShell. The first part involves creating a group policy that will encompass your Domain Controllers. In this GPO, make these changes. Expand Computer Configuration \ Policies \ Windows Settings \ Security Settings \ Advanced Audit Policy Configuration \ Audit Policies \ Account Management Double click User Account Management C...