Assembly: System.Management.Automation (in System.Management.Automation.dll)
This class should be used when you want to register a subset of the cmdlets and providers in one assembly, or when you want to register cmdlets and providers that are in different assemblies. If you want to register all the cmdlets and providers in one assembly, use the PSSnapIn class.
You should install your snap-in assembly into protected directories just as you would with other operating system programs; otherwise, malicious users could replace your assembly with unsafe code. These assemblies are used to register cmdlets and providers, which allows you to extend the functionality of the Windows PowerShell shell with the functionality of your own cmdlets and providers. For more information about snap-ins, see Windows PowerShell Snap-ins.
For more information about registering snap-ins, see Registering Cmdlets, Providers, and Host Applications.