Enable-PSSessionConfiguration

启用本地计算机上的会话配置。

语法

Enable-PSSessionConfiguration
      [[-Name] <String[]>]
      [-Force]
      [-SecurityDescriptorSddl <String>]
      [-SkipNetworkProfileCheck]
      [-NoServiceRestart]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

说明

Enable-PSSessionConfiguration cmdlet 启用已禁用的已注册会话配置,例如使用 Disable-PSSessionConfigurationDisable-PSRemoting cmdlet,或 Register-PSSessionConfigurationAccessMode 参数。 这是一个高级 cmdlet,旨在供系统管理员为其用户管理自定义会话配置时使用。

在没有参数的情况下,Enable-PSSessionConfiguration 将启用 Microsoft.PowerShell 配置,这是用于会话的默认配置。

Enable-PSSessionConfiguration 从受影响的会话配置的安全描述符中删除 Deny_All 设置、打开可接受任何 IP 地址上的请求的侦听器,并重新启动 WinRM 服务。 从 PowerShell 3.0 开始,Enable-PSSessionConfiguration 还将会话配置 (WSMan:\<computer>\PlugIn\<SessionConfigurationName>\Enabled) 的 Enabled 属性的值设置为 False。 但是,Enable-PSSessionConfiguration 不会删除或更改仅允许本地计算机用户用于会话配置的 Network_Deny_All (AccessMode=Local) 安全描述符设置。

示例

示例 1:重新启用默认会话

此示例将重新启用计算机上的 Microsoft.PowerShell 默认会话配置。

Enable-PSSessionConfiguration

示例 2:重新启用指定的会话

此示例将重新启用计算机上的 MaintenanceShellAdminShell 会话配置。

Enable-PSSessionConfiguration -Name MaintenanceShell, AdminShell

示例 3:重新启用所有会话

此示例将重新启用计算机上的所有会话配置。 这些命令是等效的。 因此,可以使用任何一个。

Enable-PSSessionConfiguration -Name *
Get-PSSessionConfiguration | Enable-PSSessionConfiguration

如果启用已启用的某个会话配置,Enable-PSSessionConfiguration 将不会生成错误。

示例 4:重新启用会话并指定新的安全描述符

此示例将重新启用 MaintenanceShell 会话配置,并为该配置指定新的安全描述符。

$sddl = "O:NSG:BAD:P(A;;GXGWGR;;;BA)(A;;GAGR;;;S-1-5-21-123456789-188441444-3100496)S:P"
Enable-PSSessionConfiguration -Name MaintenanceShell -SecurityDescriptorSDDL $sddl

参数

-Confirm

提示你在运行 cmdlet 之前进行确认。

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

-Force

指示 cmdlet 不提示进行确认,并且将在无提示的情况下重启 WinRM 服务。 重新启动服务可使配置更改生效。

若要阻止重启并禁止显示重启提示,请使用 NoServiceRestart 参数。

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

-Name

指定要启用的会话配置的名称。 输入一个或多个配置名称。 允许使用通配符。

你还可以通过管道将包含配置名称的字符串或会话配置对象传递给 Enable-PSSessionConfiguration

如果省略此参数,则 Enable-PSSessionConfiguration 将启用 Microsoft.PowerShell 会话配置。

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

-NoServiceRestart

指示 cmdlet 不会重新启动服务。

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

-SecurityDescriptorSddl

指定此 cmdlet 替换会话配置上的安全描述符所用的安全描述符。

如果省略此参数,则 Enable-PSSessionConfiguration 仅从安全描述符中删除拒绝所有项。

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

-SkipNetworkProfileCheck

指示当计算机位于公用网络上时,此 cmdlet 启用会话配置。 此参数只允许为公用网络启用防火墙规则,该规则只允许远程访问同一本地子网中的计算机。 默认情况下,Enable-PSSessionConfiguration 会在公共网络中失败。

此参数专为 Windows 操作系统的客户端版本而设计。 Windows 操作系统的服务器版本具有适用于公用网络的本地子网防火墙规则。 但是,如果在 Windows 操作系统的服务器版本上禁用了本地子网防火墙规则,则此参数将重新启用它。

若要删除本地子网限制并启用从公用网络上的所有位置进行远程访问,请使用 NetSecurity 模块中的 Set-NetFirewallRule cmdlet。 有关详细信息,请参阅 Enable-PSRemoting

此参数是在 PowerShell 3.0 中引入的。

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

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

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

输入

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

可以通过管道将会话配置对象传递给此 cmdlet。

String

可以将包含会话配置名称的字符串通过管道传递给此 cmdlet。

输出

None

此 cmdlet 不返回任何输出。

备注

若要使用此 cmdlet,必须使用“以管理员身份运行”选项启动 PowerShell。