從電腦中刪除已註冊的工作階段設定。
語法
Unregister-PSSessionConfiguration [-Name] <string> [-Force] [-NoServiceRestart] [-Confirm] [-WhatIf] [<CommonParameters>]
描述
Unregister-PSSessionConfiguration Cmdlet 會從電腦中刪除已註冊的工作階段設定。這是進階的 Cmdlet,適合系統管理員用來管理使用者的自訂工作階段設定。
如果您不小心刪除了預設的 Microsoft.PowerShell 或 Microsoft.PowerShell32 工作階段設定,請使用 Enable-PSRemoting Cmdlet 來還原它們。
參數
-Force
抑制所有使用者提示,並重新啟動 WinRM 服務,而不進行提示。重新啟動服務可讓設定變更生效。
若要防止進行重新啟動並抑制重新啟動的提示,請使用 NoServiceRestart 參數。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Name <string>
指定要刪除之工作階段設定的名稱。請輸入一個或多個設定名稱。允許使用萬用字元。此參數為必要項。
您也可以經由管道將工作階段設定物件輸出至 Unregister-PSSessionConfiguration。
必要? |
true |
位置? |
1 |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-NoServiceRestart
不重新啟動 WinRM 服務,並抑制重新啟動服務的提示。
根據預設,當您輸入 Unregister-PSSessionConfiguration 命令時,系統就會提示您重新啟動 WinRM 服務,讓變更生效。在重新啟動 WinRM 服務之前,使用者仍然可以使用取消註冊的工作階段設定,即使 Get-PSSessionConfiguration 找不到此設定也一樣。
若要重新啟動 WinRM 服務而不進行提示,請使用 Force 參數。若要手動重新啟動 WinRM 服務,請使用 Restart-Service Cmdlet。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Confirm
在執行命令前先提示確認。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-WhatIf
說明執行命令時將會發生何種情況,但不會實際執行命令。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
<CommonParameters>
這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.
輸入和輸出
輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。
輸入 |
Microsoft.PowerShell.Commands.PSSessionConfigurationCommands#PSSessionConfiguration 您可以經由管道將工作階段設定物件從 Get-PSSessionConfiguration 輸出至 Unregister-PSSessionConfiguration。 |
輸出 |
None 這個 Cmdlet 不會傳回任何物件。 |
附註
若要在 Windows Vista、Windows Server 2008 和更新版的 Windows 上執行這個 Cmdlet,您必須使用 [以系統管理員身分執行] 選項啟動 Windows PowerShell。
範例 1
C:\PS>unregister-pssessionconfiguration -name MaintenanceShell 描述 ----------- 這個命令會從電腦中刪除 MaintenanceShell 工作階段設定。
範例 2
C:\PS>unregister-pssessionconfiguration -maintenanceShell -force 描述 ----------- 這個命令會從電腦中刪除 MaintenanceShell 工作階段設定。此命令會使用 Force 參數來抑制所有使用者訊息並且重新啟動 WinRM 服務,而不進行提示。
範例 3
C:\PS>unregister-pssessionconfiguration -name * C:\PS> get-pssessionconfiguration -name * | unregister-pssessionconfiguration 描述 ----------- 這些命令會刪除電腦上的所有工作階段設定。這些命令具有相同的作用,而且可以交替使用。
範例 4
C:\PS>unregister-pssessionconfiguration -name maintenanceShell -noServiceRestart C:\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 C:\PS> new-pssession -configurationName MaintenanceShell Id Name ComputerName State Configuration Availability -- ---- ------------ ----- ------------- ------------ 1 Session1 localhost Opened MaintenanceShell Available C:\PS> restart-service winrm C:\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 resour ces, or logical endpoints. For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException + FullyQualifiedErrorId : PSSessionOpenFailed 描述 ----------- 這個範例會示範使用 Unregister-PSSessionConfiguration 之 NoServiceRestart 參數的作用。這個參數的設計目的是要防止服務重新啟動,因為重新啟動會中斷電腦上的任何工作階段。 第一個命令會使用 Unregister-PSSessionConfiguration Cmdlet 來刪除 MaintenanceShell 工作階段設定。不過,因為此命令使用了 NoServiceRestart 參數,所以 WinRM 服務不會重新啟動,而且變更尚未完全生效。 第二個命令會使用 Get-PSSessionConfiguration Cmdlet 來取得 MaintenanceShell 工作階段。因為此工作階段已經從 WS-Management 資源表格中移除,所以 Get-PSSession 無法傳回此工作階段。 第三個命令會使用 New-PSSession Cmdlet,在本機電腦上建立使用 MaintenanceShell 設定的工作階段。此命令會執行成功。 第四個命令會使用 Restart-Service Cmdlet 來重新啟動 WinRM 服務。 第五個命令會再次使用 New-PSSession Cmdlet 來建立使用 MaintenanceShell 設定的工作階段。不過,這次工作階段會失敗,因為您已經刪除 MaintenanceShell 設定。
請參閱