Get-PSSnapin

Gets the Windows PowerShell snap-ins on the computer.
Get-PSSnapin [[-Name] [<String[]>]] [-Registered] [<CommonParameters>]

The Get-PSSnapin cmdlet gets the Windows PowerShell snap-ins that have been added to the current session or that have been registered on the system. This cmdlet lists the snap-ins in the order in which they are detected.

Get-PSSnapin gets only registered snap-ins. To register a Windows PowerShell snap-in, use the InstallUtil tool included with the Microsoft .NET Framework 2.0. For more information, see How to Register Cmdlets, Providers, and Host Applications (http://go.microsoft.com/fwlink/?LinkId=143619) in the Microsoft Developer Network (MSDN) library.

Starting in Windows PowerShell 3.0, the core commands that are included in Windows PowerShell are packaged in modules. The exception is Microsoft.PowerShell.Core, which is a snap-in (PSSnapin). By default, only the Microsoft.PowerShell.Core snap-in is added to the session. Modules are imported automatically on first use and you can use the Import-Module cmdlet to import them.

Parameters
-Name [<String[]>]

Specifies an array of snap-in names. This cmdlet gets only the specified Windows PowerShell snap-ins. Wildcard characters are permitted.

-Registered [<SwitchParameter>]

Indicates that this cmdlet gets the Windows PowerShell snap-ins that have been registered on the system even if they have not yet been added to the session.

The snap-ins that are installed with Windows PowerShell do not appear in this list.

Without this parameter, Get-PSSnapin gets the Windows PowerShell snap-ins that have been added to the session.

<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.

Inputs

None

You cannot pipe input to this cmdlet.

Outputs

System.Management.Automation.PSSnapInInfo

Get-PSSnapin returns an object for each snap-in that it gets.

Examples
  1. Get snap-ins that are currently loaded:
    PS C:> Get-PSSnapIn
    

    This command gets the Windows PowerShell snap-ins that are currently loaded in the session. This includes the snap-ins that are installed with Windows PowerShell and those that have been added to the session.

  2. Get snap-ins that have been registered:
    PS C:> get-PSSnapIn -Registered
    

    This command gets the Windows PowerShell snap-ins that have been registered on the computer, including those that have already been added to the session. The output does not include snap-ins that are installed with Windows PowerShell or Windows PowerShell snap-in dynamic-link libraries (DLLs) that have not yet been registered on the system.

  3. Get current snap-ins that match a string:
    PS C:> Get-PSSnapIn -Name smp*
    

    This command gets the Windows PowerShell snap-ins in the current session that have names that begin with smp.

Additional Notes
 Starting in Windows PowerShell 3.0, the core commands that are installed with Windows PowerShell are packaged 
 in modules. In Windows PowerShell 2.0, and in host programs that create older-style sessions in later versions 
 of Windows PowerShell, the core commands are packaged in snap-ins (PSSnapin). The exception is 
 Microsoft.PowerShell.Core, which is always a snap-in. Also, remote sessions, such as those started by the 
 New-PSSession cmdlet, are older-style sessions that include core snap-ins.

 For information about the CreateDefault2 method that creates newer-style sessions with core modules, see 
 CreateDefault2 Method (http://msdn.microsoft.com/en-us/library/windows/desktop/system.management.automation.run
 spaces.initialsessionstate.createdefault2(v=VS.85).aspx) in the MSDN library.
Related Links

Add-PSSnapin
Remove-PSSnapin