Add PsSnapIn - PowerShell


The Add-PsSnapIn cmdlet dynamically loads a PowerShell snap-in. Snap-ins are encapsulated units of PowerShell functionality accessible through a simple command-line interface. They provide a modular and extensible way to enhance PowerShell’s capabilities.


Add-PsSnapIn [-Name] <string> [[-Passthru] | [-ErrorAction <ActionPreference>] | [-Force] | [-WhatIf]]


  • -Name (Required): Specifies the name of the snap-in to load.
  • -Passthru (Optional): Returns the snap-in object after it has been loaded.
  • -ErrorAction (Optional): Specifies the action to take if an error occurs. Valid values are: Continue, Stop, SilentlyContinue, and Inquire.
  • -Force (Optional): Forces the snap-in to load even if it has already been loaded or if it is not registered in the current session.
  • -WhatIf (Optional): Performs a simulation of the command without actually executing it.


Load a specific snap-in:

Add-PsSnapIn Microsoft.PowerShell.Utility

Load all available snap-ins:

Get-PsSnapIn | Add-PsSnapIn

Load a snap-in and return the snap-in object:

$snapIn = Add-PsSnapIn Microsoft.PowerShell.Utility -Passthru

Common Issues

  • Snap-in not found: The snap-in specified in the -Name parameter may not be installed or registered in the current session.
  • Circular dependency: Snap-ins can have dependencies on other snap-ins. Loading a snap-in that has a circular dependency can cause an error.
  • Version conflict: Different versions of a snap-in may be installed. Loading the wrong version can cause unexpected behavior.


Add-PsSnapIn can be combined with other PowerShell commands to manage and use snap-ins effectively:

  • Get-PsSnapIn: Retrieves information about loaded snap-ins.
  • Remove-PsSnapIn: Unloads a snap-in from the session.
  • Save-Module: Saves a snap-in as a module for later use.
  • Import-Module: Loads a PowerShell module.
  • New-PSSession: Creates a new PowerShell session in which snap-ins can be loaded and used.
  • Get- команду, get-command: Gets information about available PowerShell commands, including snap-in commands.