How to Create a Windows PowerShell Snap-in

A Windows PowerShell snap-in provides a mechanism for registering sets of cmdlets and another Windows PowerShell provider with the shell, thus extending the functionality of the shell. A Windows PowerShell snap-in can register all the cmdlets and providers in a single assembly, or it can register a specific list of cmdlets and providers.

Snap-in assemblies should be installed in a protected directory, just as they would be with other operating systems. Otherwise, malicious users can replace an assembly with unsafe code.

Windows PowerShell Snap-in Classes

All Windows PowerShell snap-in classes derive from the System.Management.Automation.PSSnapIn or System.Management.Automation.Custompssnapin classes.

Examples

Writing a Windows PowerShell Snap-in: This example shows how to create a snap-in that is used to register all the cmdlets and providers in an assembly.

Writing a Custom Windows PowerShell Snap-in: This example shows how to create a custom snap-in that is used to register a specific set of cmdlets and providers that might or might not exist in a single assembly.

See Also

System.Management.Automation.PSSnapIn

System.Management.Automation.Custompssnapin

Registering Cmdlets

Windows PowerShell Shell SDK