Unregister-PSSessionConfiguration

从计算机中删除已注册的会话配置。

语法

Unregister-PSSessionConfiguration
          [-Name] <String>
          [-Force]
          [-NoServiceRestart]
          [-WhatIf]
          [-Confirm]
          [<CommonParameters>]

说明

Unregister-PSSessionConfiguration cmdlet 从计算机中删除已注册的会话配置。 此 cmdlet 专为系统管理员设计,用于管理用户的自定义会话配置。

若要使更改生效,Unregister-PSSessionConfiguration 重启 WinRM 服务。 若要防止重启,请指定 NoServiceRestart 参数。

如果意外删除默认的 Microsoft.PowerShellMicrosoft.PowerShell32 会话配置,请使用 Enable-PSRemoting cmdlet 还原它们。 有关详细信息,请参阅 about_Session_Configurations

示例

示例 1:删除会话配置

此示例从计算机中删除 MaintenanceShell 会话配置。

Unregister-PSSessionConfiguration -Name "MaintenanceShell"

示例 2:删除会话配置并重启 WinRM 服务

在此示例中,我们将删除 MaintenanceShell 配置并重启 WinRM 服务。 Force 参数禁止所有用户消息在不提示的情况下重启 WinRM 服务。

Unregister-PSSessionConfiguration -Name MaintenanceShell -Force

示例 3:删除所有会话配置

此示例演示了删除计算机上的所有会话配置的两种方法。 这两个命令具有相同的效果,可以互换使用。

Unregister-PSSessionConfiguration -Name *
Get-PSSessionConfiguration -Name * | Unregister-PSSessionConfiguration

示例 4:在未重启的情况下注销

此示例显示了使用 NoServiceRestart 参数防止服务重启会中断计算机上的任何会话的效果。

PS> Unregister-PSSessionConfiguration -Name "MaintenanceShell" -NoServiceRestart
PS> Get-PSSessionConfiguration -Name "MaintenanceShell"

Get-PSSessionConfiguration -Name MaintenanceShell : No Session Configuration matches criteria "MaintenanceShell".
+ CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException

PS> New-PSSession -ConfigurationName "MaintenanceShell"

Id Name      ComputerName    State    Configuration         Availability
-- ----      ------------    -----    -------------         ------------
1 Session1  localhost       Opened   MaintenanceShell      Available

PS> Restart-Service winrm
PS> New-PSSession -ConfigurationName MaintenanceShell

[localhost] Connecting to remote server failed with the following error message :
 The WS-Management service cannot process the request.
 The resource URI (https://schemas.microsoft.com/powershell/MaintenanceShell) was not found in the WS-Management catalog.
 The catalog contains the metadata that describes resources, or logical endpoints.
 For more information, see the about_Remote_Troubleshooting Help topic.
 + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
 + FullyQualifiedErrorId : PSSessionOpenFailed

Unregister-PSSessionConfiguration 删除 MaintenanceShell 会话配置。 但是,由于该命令使用 NoServiceRestart 参数,因此不会重启 WinRM 服务,并且更改尚未完全有效。

接下来,Get-PSSessionConfiguration 尝试获取 MaintenanceShell 会话。 由于会话已从 WS-Management 资源表中删除,因此 Get-PSSessionConfiguration 无法返回该会话。

New-PSSession cmdlet 使用 MaintenanceShell 配置创建会话。 命令成功。 接下来,重启 WinRM 服务。

最后,New-PSSession cmdlet 尝试创建使用 MaintenanceShell 配置的会话。 这一次,会话失败,因为 WinRM 服务重启时删除了 MaintenanceShell 配置。

参数

-Confirm

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

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

-Force

指示该 cmdlet 不会提示你进行确认,并在不提示的情况下重启 WinRM 服务。 重启服务会使配置更改生效。

若要防止重启并取消重启提示,请使用 NoServiceRestart 参数。

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

-Name

指定要删除的会话配置的名称。 输入一个会话配置名称或配置名称模式。 允许使用通配符。 此参数是必需的。

还可以通过管道将会话配置传递给 Unregister-PSSessionConfiguration

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

-NoServiceRestart

指示此 cmdlet 不会重启 WinRM 服务,并禁止提示重启服务。

默认情况下,运行 Unregister-PSSessionConfiguration 命令时,系统会提示重启 WinRM 服务以使更改生效。 在重新启动 WinRM 服务之前,用户仍可以使用未注册的会话配置,即使 Get-PSSessionConfiguration 找不到它。

若要在不提示的情况下重启 WinRM 服务,请指定 Force 参数。 若要手动重启 WinRM 服务,请使用 Restart-Service cmdlet。

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

-WhatIf

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

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

输入

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

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

输出

None

此 cmdlet 不返回任何对象。

备注

此 cmdlet 仅在 Windows 平台上可用。

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