Add-PSSnapin

将一个或多个 Windows PowerShell 管理单元添加到当前会话中。

语法

Add-PSSnapin
   [-Name] <String[]>
   [-PassThru]
   [<CommonParameters>]

说明

Add-PSSnapin cmdlet 可将已注册的 Windows PowerShell 管理单元添加到当前会话中。 添加了管理单元之后,就可以使用当前会话中的管理单元支持的 cmdlet 和提供程序。

若要将管理单元添加到以后所有的 Windows PowerShell 会话中,请将 Add-PSSnapin 命令添加到你的 Windows PowerShell 配置文件中。 有关详细信息,请参阅 about_Profiles

从 Windows PowerShell 3.0 开始,将 Windows PowerShell 中包含的核心命令打包在模块中。 Microsoft.PowerShell.Core 是例外情况,它是一个管理单元 (PSSnapin)。 默认情况下,仅将 Microsoft.PowerShell.Core 管理单元添加到会话中。 首次使用时自动导入模块,而且可以使用 Import-Module cmdlet 导入它们。

示例

示例 1:添加管理单元

PS C:\> Add-PSSnapIn -Name Microsoft.Exchange, Microsoft.Windows.AD

此命令会将 Microsoft Exchange 和 Active Directory 管理单元添加到当前会话中。

示例 2:添加所有已注册管理单元

PS C:\> Get-PSSnapin -Registered | Add-PSSnapin -Passthru

此命令会将所有已注册 Windows PowerShell 管理单元添加到会话中。 它使用带有 Registered 参数的 Get-PSSnapin cmdlet 来获取表示每个已注册管理单元的对象。管道运算符 (|) 将结果传递给 Add-PSSnapin,后者再将它们添加到会话中。 PassThru 参数将返回表示每个已添加管理单元的对象。

示例 3:注册并添加管理单元

第一个命令将获取已添加到当前会话的管理单元,包括随 Windows PowerShell 一起安装的管理单元。 此示例中,不返回 ManagementFeatures。 这指示尚未将其添加到会话中。

第二个命令将获取已在你的系统上注册的管理单元,包括那些已添加到会话中的管理单元。 其中不包括随 Windows PowerShell 一起安装的管理单元。 在此情况下,该命令不返回任何管理单元。这指示尚未在系统上注册 ManagementFeatures 管理单元。

第三个命令将为 .NET Framework 中的 InstallUtil 工具的路径创建别名“installutil”。

第四个命令使用 InstallUtil 工具注册管理单元。 该命令指定 ManagementCmdlets.dll 的路径、管理单元的文件名或模块名称。

第五个命令与第二个命令相同。 这一次,你可以使用它来验证 ManagementCmdlets 管理单元是否已注册。

第六个命令使用 Add-PSSnapin cmdlet 将 ManagementFeatures 管理单元添加到会话中。 该命令指定了管理单元的名称 ManagementFeatures,而不是文件名。

为了验证是否已将管理单元添加到会话中,第七个命令将使用 Get-Command cmdlet 的 Module 参数。 它将显示已由管理单元或模块添加到会话中的项。

还可使用 cmdlet 返回的对象的 PSSnapin 属性来查找 Get-Command cmdlet 源自的管理单元或模块。 第八个命令使用点表示法来查找 Set-Alias cmdlet 的 PSSnapin 属性。

PS C:\> Get-PSSnapin
PS C:\> Get-PSSnapin -Registered
PS C:\> Set-Alias installutil $env:windir\Microsoft.NET\Framework\v2.0.50727\installutil.exe
PS C:\> installutil C:\Dev\Management\ManagementCmdlets.dll
PS C:\> Get-PSSnapin -Registered
PS C:\> add-pssnapin ManagementFeatures
PS C:\> Get-Command -Module ManagementFeatures
PS C:\> (Get-Command Set-Alias).pssnapin

此示例将演示了在你的系统上注册管理单元,然后再将其添加到会话中的过程。 它使用 ManagementFeatures,这是一个在名为 ManagementCmdlets.dll 的文件中实现的虚拟管理单元。

参数

-Name

指定管理单元的名称。 这是 Name,而不是 AssemblyName 或 ModuleName。 允许使用通配符。

若要在你的系统上查找已注册的管理单元的名称,请键入 Get-PSSnapin -Registered

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-PassThru

表示此 cmdlet 返回一个表示每个已添加管理单元的对象。 默认情况下,此 cmdlet 将不产生任何输出。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

None

不能通过管道将对象传递给此 cmdlet。

输出

None or System.Management.Automation.PSSnapInInfo

如果你使用 PassThru 参数,cmdlet 将返回一个表示管理单元的 PSSnapInInfo 对象。 否则,此 cmdlet 将不生成任何输出。

备注

Windows PowerShell 包含 Add-PSSnapin 的以下别名:

  • asnp

从 Windows PowerShell 3.0 开始,将与 Windows PowerShell 一起安装的核心命令打包在模块中。 在 Windows PowerShell 2.0 中,以及在更高版本的 Windows PowerShell 中创建旧样式会话的托管程序中,核心命令是打包到管理单元 (PSSnapins) 中的。 Microsoft.PowerShell.Core 是例外情况,它始终是一个管理单元。 此外,远程会话(如 New-PSSession cmdlet 启动的会话)是包括核心管理单元的旧样式会话。

有关使用核心模块创建更新样式会话的 CreateDefault2 方法的信息,请参阅 CreateDefault2 方法

有关管理单元的详细信息,请参阅 about_PSSnapins如何创建 Windows Powershell 管理单元

Add-PSSnapin 仅将管理单元添加到当前会话中。 若要将管理单元添加到所有 Windows PowerShell 会话中,请将该管理单元添加到你的 Windows PowerShell 配置文件中。 有关详细信息,请参阅 about_Profiles

你可以添加已使用 Microsoft .NET Framework 安装实用工具进行注册的任何管理单元。 有关详细信息,请参阅如何注册 Cmdlet、提供程序和主机应用程序

若要获取在你的计算机上注册的管理单元的列表,请键入 Get-PSSnapin -Registered

在添加管理单元之前,Add-PSSnapin 会检查管理单元的版本,以验证它是否与当前版本的 Windows PowerShell 兼容。 如果管理单元未通过版本检查,则 Windows PowerShell 将报告错误。