Unregister-PSSessionConfiguration
从计算机中删除已注册的会话配置。
语法
Unregister-PSSessionConfiguration
[-Name] <String>
[-Force]
[-NoServiceRestart]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
cmdlet Unregister-PSSessionConfiguration
从计算机中删除已注册的会话配置。 此 cmdlet 专为系统管理员设计,用于管理用户的自定义会话配置。
若要使更改生效, Unregister-PSSessionConfiguration
请重启 WinRM 服务。 若要防止重启,请指定 NoServiceRestart 参数。
如果意外删除了默认 的 Microsoft.PowerShell 或 Microsoft.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
因此无法返回它。
cmdlet New-PSSession
使用 MaintenanceShell 配置创建会话。 该命令执行成功。 接下来,重启 WinRM 服务。
最后, New-PSSession
该 cmdlet 尝试创建使用 MaintenanceShell 配置的会话。 这一次,会话失败,因为 WinRM 服务重启时删除了 MaintenanceShell 配置。
参数
-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
指定要删除的会话配置的名称。 输入一个会话配置名称或配置名称模式。 允许使用通配符。 此参数是必需的。
还可以通过管道将会话配置传递给 Unregister-PSSessionConfiguration
。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-NoServiceRestart
指示此 cmdlet 不重启 WinRM 服务,并且禁止提示重启该服务。
默认情况下,运行 Unregister-PSSessionConfiguration
命令时,系统会提示重启 WinRM 服务以使更改生效。 在 重新启动 WinRM 服务之前,用户仍然可以使用未注册的会话配置,即使 Get-PSSessionConfiguration
找不到它。
若要在无提示的情况下重启 WinRM 服务,请指定 Force 参数。 若要手动重启 WinRM 服务,请使用 Restart-Service
cmdlet。
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
可以通过管道将会话配置对象从 Get-PSSessionConfiguration
传递给此 cmdlet。
输出
None
此 cmdlet 不返回任何对象。
备注
若要运行此 cmdlet,必须使用“ 以管理员身份运行” 选项启动 PowerShell。
相关链接
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- New-PSSessionConfigurationFile
- New-PSSessionOption
- Register-PSSessionConfiguration
- Set-PSSessionConfiguration
- Test-PSSessionConfigurationFile
- Unregister-PSSessionConfiguration
- WSMan 提供程序
- about_Session_Configurations
- about_Session_Configuration_Files