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 管理单元添加到会话。 它使用 Get-PSSnapin cmdlet 和 Registered 参数来获取表示每个已注册管理单元的对象。管道运算符 (|) 将结果传递给 Add-PSSnapin,这会将它们添加到会话中。 passThru 参数 返回表示添加的每个管理单元的对象。

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

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

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

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

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

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

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

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

还可以使用 Get-Command cmdlet 返回的对象 PSSnapin 属性来查找 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

类型:String[]
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:True

-PassThru

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

None

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

输出

None or System.Management.Automation.PSSnapInInfo

如果 指定了 passThru 参数,此 cmdlet 将返回一个 PSSnapInInInfo 对象,该对象代表管理单元。 否则,此 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 将报告错误。