PowerShell can be extended with custom snap-ins. A snap-in is a .NET assembly, usually a DLL file, that contains cmdlets and/or providers. There are a lot of useful extensions on the Internet already, and some of them have gotten quite popular. The process of using a snap-in involves two steps:
Register the snap-in. This requires administrator credentials and elevated privileges and is usually done by the snap-in installer.
Include the snap-in in the current shell session. Before using cmdlets or providers from a snap-in, users must use the Add-PSSnapIn cmdlet to add the snap-in to the current shell session.
As an example for including a snap-in, we can add the PSEventing snap-in that contains the cmdlets ...