关于 PSSnapins

简短说明

介绍Windows PowerShell管理单元并演示如何使用和管理它们。

详细说明

Windows PowerShell管理单元是包含Windows PowerShell提供程序和/或 cmdlet 的 Microsoft .NET Framework程序集。 Windows PowerShell包括一组基本管理单元,但你可以通过添加包含提供程序的管理单元和你从其他人创建或获取的 cmdlet 来扩展Windows PowerShell的功能和价值。

添加管理单元时,它所包含的 cmdlet 和提供程序将立即可用于当前会话,但更改仅影响当前会话。

若要将管理单元添加到将来的所有会话,请将其保存在Windows PowerShell配置文件中。 还可以使用 Export-Console cmdlet 将管理单元名称保存到控制台文件,然后在将来的会话中使用它。 甚至可以保存多个控制台文件,每个文件都有一组不同的管理单元。

注意:Windows PowerShell管理单元 (PSSnapins) 可用于 Windows PowerShell 3.0 和 Windows PowerShell 2.0。 它们在后续版本中可能已更改或不可用。 若要打包 Windows PowerShell cmdlet 和提供程序,请使用模块。 有关创建模块和将管理单元转换为模块的信息,请参阅编写Windows PowerShell模块

查找管理单元

若要获取计算机上Windows PowerShell管理单元的列表,请键入:

Get-PSSnapin

若要获取每个Windows PowerShell提供程序的管理单元,请键入:

Get-PSProvider | Format-List name, pssnapin

若要获取Windows PowerShell管理单元中的 cmdlet 列表,请键入:

Get-Command -Module <snap-in_name>

安装管理单元

内置管理单元在系统中注册,并在启动Windows PowerShell时添加到默认会话。 但是,必须注册从其他人创建或获取的管理单元,然后将管理单元添加到会话。

注册管理单元

Windows PowerShell管理单元是以.NET Framework语言编写的程序,编译为 .dll 文件。 若要在管理单元中使用提供程序和 cmdlet,必须先注册管理单元 (将其添加到注册表) 。

大多数管理单元包括一个安装程序 (.exe 或 .msi 文件) ,用于注册 .dll 文件。 但是,如果收到作为 .dll 文件的管理单元,则可以在系统上注册它。 有关详细信息,请参阅 如何在 MSDN 库中注册 Cmdlet、提供程序和主机应用程序

若要获取系统上的所有已注册管理单元或验证是否已注册管理单元,请键入:

Get-PSSnapin -registered

将管理单元添加到当前会话

若要将已注册的管理单元添加到当前会话,请使用 Add-PSSnapin cmdlet。 例如,若要将 Microsoft SQL Server管理单元添加到会话,请键入:

Add-PSSnapin sql

命令完成后,管理单元中的提供程序和 cmdlet 在会话中可用。 但是,除非保存它们,否则它们仅在当前会话中可用。

保存管理单元

若要在将来的Windows PowerShell会话中使用管理单元,请将 Add-PSSnapin 命令添加到Windows PowerShell配置文件。 或者,将管理单元名称导出到控制台文件。

如果将 Add-PSSnapin 命令添加到配置文件,它将在将来的所有Windows PowerShell会话中可用。 如果在会话中导出管理单元的名称,则仅当需要管理单元时才能使用导出文件。

若要将 Add-PSSnapin 命令添加到Windows PowerShell配置文件,请打开配置文件,粘贴或键入命令,然后保存配置文件。 有关详细信息,请参阅 about_Profiles。

若要在控制台文件 (.psc1) 中保存会话中的管理单元,请使用 Export-Console cmdlet。 例如,若要将当前会话配置中的管理单元保存到当前目录中的 NewConsole.psc1 文件,请键入:

Export-Console NewConsole

有关详细信息,请参阅 Export-Console。

使用控制台文件打开 WINDOWS POWERSHELL

若要使用包含管理单元的控制台文件,请在 Cmd.exe 或其他Windows PowerShell会话中从命令提示符启动Windows PowerShell (PowerShell.exe) 。 使用 PsConsoleFile 参数指定包含管理单元的控制台文件。 例如,以下命令使用 NewConsole.psc1 控制台文件启动Windows PowerShell:

PowerShell.exe -psconsolefile NewConsole.psc1

snapin 中的提供程序和 cmdlet 现在可用于会话。

删除管理单元

若要从当前会话中删除Windows PowerShell管理单元,请使用 Remove-PSSnapin cmdlet。 例如,若要从当前会话中删除SQL Server管理单元,请键入:

Remove-PSSnapin sql

此 cmdlet 从会话中删除管理单元。 管理单元仍已加载,但它支持的提供程序和 cmdlet 不再可用。

内置命令

在 Windows PowerShell 2.0 和 Windows PowerShell 3.0 及更高版本中的旧式主机程序中,随 Windows PowerShell 一起安装的内置命令打包在管理单元中,这些管理单元会自动添加到每个Windows PowerShell会话中。

从 Windows PowerShell 3.0 开始,在较新样式的主机程序中(使用 InitialSessionState.CreateDefault2 方法启动会话的主机程序)中,内置命令打包在模块中。 Microsoft.PowerShell.Core 除外,它始终显示为管理单元。 默认情况下,核心管理单元包含在每个会话中。 内置模块在首次使用时自动加载。

注意:远程会话(包括使用 New-PSSession cmdlet 启动的会话)是旧式会话,内置命令打包在管理单元中。

以下管理单元 (或模块) 随Windows PowerShell一起安装。

  • Microsoft.PowerShell.Core - 包含用于管理Windows PowerShell基本功能的提供程序和 cmdlet。 它包括 FileSystem、注册表、别名、环境、函数和变量提供程序以及 Get-Help、Get-Command 和 Get-History 等基本 cmdlet。

  • Microsoft.PowerShell.Host - 包含Windows PowerShell主机使用的 cmdlet,例如 Start-Transcript 和 Stop-Transcript。

  • Microsoft.PowerShell.Management - 包含用于管理基于 Windows 的功能的 cmdlet,例如 Get-Service 和 Get-ChildItem。

  • Microsoft.PowerShell.Security - 包含用于管理Windows PowerShell安全性的证书提供程序和 cmdlet,例如 Get-Acl、Get-AuthenticodeSignature 和 ConvertTo-SecureString。

  • Microsoft.PowerShell.实用工具 - 包含用于操作对象和数据(如 Get-Member、Write-Host 和 Format-List)的 cmdlet。

  • Microsoft.WSMan.Management - 包含管理 Windows 远程管理服务的 WSMan 提供程序和 cmdlet,例如 Connect-WSMan 和 Enable-WSManCredSSP。

日志记录管理单元事件

从 Windows PowerShell 3.0 开始,可以通过将模块和管理单元的 LogPipelineExecutionDetails 属性设置为 TRUE 来记录Windows PowerShell模块和管理单元中的 cmdlet 的执行事件。 有关详细信息,请参阅 about_EventLogs

另请参阅

Add-PSSnapin

Get-PSSnapin

Remove-PSSnapin

Export-Console

Get-Command

about_Profiles

about_Modules

关键 字

about_Snapins、about_Snap_ins、about_Snap