获取计算机上已注册的会话配置。
语法
Get-PSSessionConfiguration [[-Name] <string[]>] [<CommonParameters>]
说明
Get-PSSessionConfiguration cmdlet 获取已在本地计算机上注册的会话配置。这是一个高级 cmdlet,供系统管理员为其用户管理自定义会话配置时使用。
要创建并注册会话配置,请使用 Register-PSSessionConfiguration cmdlet。
参数
-Name <string[]>
只获取具有指定的名称或名称模式的会话配置。输入一个或多个会话配置名称。允许使用通配符。
是否为必需? |
false |
位置? |
1 |
默认值 |
All session configurations on the local computer |
是否接受管道输入? |
false |
是否接受通配符? |
true |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
None 不能通过管道将输入传递给此 cmdlet。 |
输出 |
Microsoft.PowerShell.Commands.PSSessionConfigurationCommands#PSSessionConfiguration |
说明
若要在 Windows Vista、Windows Server 2008 以及更高版本的 Windows 上运行此 cmdlet,您必须使用“以管理员身份运行”选项打开 Windows PowerShell。
若要查看计算机上的会话配置,您必须是该计算机上的 Administrators 组的成员。
若要在远程计算机上运行 Get-PSSessionConfiguration 命令,必须在本地计算机的客户端设置(通过使用 Enable-WSManCredSSP cmdlet)和远程计算机的服务设置中启用凭据安全服务提供程序 (CredSSP) 身份验证,还必须在建立远程会话时使用 Authentication 参数的 CredSSP 值。否则,访问将被拒绝。
示例 1
C:\PS>get-pssessionconfiguration 说明 ----------- 此命令获取计算机上的会话配置。
示例 2
C:\PS>get-pssessionconfiguration -name Microsoft* Name PSVersion StartupScript Permission ---- --------- ------------- ---------- microsoft.powershell 2.0 BUILTIN\Administrators AccessAll... microsoft.powershell32 2.0 BUILTIN\Administrators AccessAll... 说明 ----------- 此命令使用 Get-PSSessionConfiguration 的 Name 参数只获取名称以“Microsoft”开头的会话配置。 此命令获取 Windows PowerShell 附带的两个默认会话配置。
示例 3
C:\PS>Get-PSSessionConfiguration -name microsoft.powershell | get-member TypeName: Microsoft.PowerShell.Commands.PSSessionConfigurationCommands#PSSessionConfiguration Name MemberType Definition ---- ---------- ---------- Equals Method bool Equals(System.Object obj) GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString() Capability NoteProperty System.Object[] Capability=System.Object[] ExactMatch NoteProperty System.String ExactMatch=False Filename NoteProperty System.String Filename=%windir%\system32\pwrshplugin.dll lang NoteProperty System.String lang=en-US Name NoteProperty System.String Name=microsoft.powershell PSVersion NoteProperty System.String PSVersion=2.0 ResourceUri NoteProperty System.String ResourceUri=https://schemas.microsoft.com/powershell/microsoft.powershell SDKVersion NoteProperty System.String SDKVersion=1 SecurityDescriptorSddl NoteProperty System.String SecurityDescriptorSddl=O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD) SupportsOptions NoteProperty System.String SupportsOptions=true Uri NoteProperty System.String Uri=https://schemas.microsoft.com/powershell/microsoft.powershell xmlns NoteProperty System.String xmlns=https://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration XmlRenderingType NoteProperty System.String XmlRenderingType=text Permission ScriptProperty System.Object Permission {get=trap { continue; }... C:\PS> Get-PSSessionConfiguration -name microsoft.powershell | format-list -property * Name : microsoft.powershell Filename : %windir%\system32\pwrshplugin.dll SDKVersion : 1 XmlRenderingType : text lang : en-US PSVersion : 2.0 ResourceUri : https://schemas.microsoft.com/powershell/microsoft.powershell SupportsOptions : true Capability : {Shell} Uri : https://schemas.microsoft.com/powershell/microsoft.powershell SecurityDescriptorSddl : O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD) ExactMatch : False xmlns : https://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration Permission : BUILTIN\Administrators AccessAllowed 说明 ----------- 这些命令检查 Get-PSSessionConfiguration 返回的 PSSessionConfiguration 对象。 第一条命令使用 Get-PSSessionConfiguration cmdlet 来获取 Microsoft.PowerShell 默认配置。 第二条命令使用管道运算符 (|) 将 Get-PSSessionConfiguration 返回的对象发送到 Get-Member cmdlet。输出将显示该对象的属性和方法。 第三条命令将该对象发送到 Format-List cmdlet。值为 *(全部)的 Property 参数指示 Format-List 在列表中显示该对象的所有属性和属性值。 此命令的输出包含非常有用的信息,其中包括实现配置类型的 .dll 的位置、所创建的终结点的统一资源标识符 (URI) 以及配置的安全描述符定义语言 (SDDL)。
示例 4
C:\PS>dir wsman:\localhost\plugin WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin Name Type Keys ---- ---- ---- Event Forwarding Plugin Container {Name=Event Forwarding Plugin} MaintenanceShell Container {Name=MaintenanceShell} microsoft.powershell Container {Name=microsoft.powershell} microsoft.powershell32 Container {Name=microsoft.powershell32} WMI Provider Container {Name=WMI Provider} 说明 ----------- 此命令在 WSMan: 提供程序驱动器中使用 Get-ChildItem cmdlet(别名为 dir)查看 Plugin 节点的内容。 这是在计算机上查看会话配置的另一种方式。 PlugIn 节点包含表示已注册的 Windows PowerShell 会话配置的 ContainerElement 对象 (Microsoft.WSMan.Management.WSManConfigContainerElement) 以及 WS-Management 的其他插件。
示例 5
C:\PS>enable-wsmanCredSSP -delegate server02 C:\PS> connect-wsman server02 C:\PS> set-item wsman:\server02*\service\auth\credSSP -value $true C:\PS> invoke-command -scriptblock {Get-PSSessionConfiguration} -computername Server02 -authentication CredSSP -credential Domain01\Admin01 Name PSVersion StartupScript Permission PSComputerName ---- --------- ------------- ---------- -------------- microsoft.powershell 2.0 BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com microsoft.powershell32 2.0 BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com MyX86Shell 2.0 c:\test\x86Shell.ps1 BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com 说明 ----------- 此示例说明如何在远程计算机上运行 Get-PSSessionConfiguration 命令。该命令要求在本地计算机的客户端设置中以及远程计算机的服务设置中启用 CredSSP 委派。若要运行此示例中的命令,您必须是本地计算机和远程计算机上的 Administrators 组的成员。 第一条命令使用 Enable-WSManCredSSP cmdlet 启用从本地计算机 Server01 到远程计算机 Server02 的 CredSSP 委派。这会在本地计算机上配置 CredSSP 客户端设置。 第二条命令使用 Connect-WSMan cmdlet 连接到计算机 Server02。此操作在本地计算机上的 WSMan: 驱动器中为计算机 Server02 添加一个节点,从而允许您查看和更改计算机 Server02 上的 WS-Management 设置。 第三条命令使用 Set-Item cmdlet 将计算机 Server02 的 Service 节点中 CredSSP 项的值更改为 True。这会在远程计算机上配置服务设置。 第四条命令使用 Invoke-Command cmdlet 在计算机 Server02 上运行 Get-PSSessionConfiguration 命令。此命令使用 Credential 参数,并使用值为 CredSSP 的 Authentication 参数。
示例 6
C:\PS>(get-PSSessionConfiguration -name CustomShell).resourceURI https://schemas.microsoft.com/powershell/microsoft.CustomShell 说明 ----------- 此命令使用 Get-PSSessionConfiguration cmdlet 获取会话配置的资源 URI。 在设置接受资源 URI 的 $PSSessionConfigurationName 首选项变量的值时,该命令十分有用。 $PSSessionConfiguationName 变量指定创建会话时所用的默认配置。此变量是在本地计算机上设置的,但是它指定远程计算机上的配置。有关 $PSSessionConfiguration 变量的详细信息,请参阅 about_Preference_Variables。
另请参阅