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. For more information about Windows PowerShell snap-ins, see Windows PowerShell snap-ins.
Be aware that your snap-in assembly should be installed in a protected directory just as they would be with other operating systems; otherwise, malicious users could replace your assembly with unsafe code.
Windows PowerShell Snap-in Classes
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.