Disable-PSSessionConfiguration
停用本機電腦上的會話設定。
語法
Disable-PSSessionConfiguration
[[-Name] <String[]>]
[-Force]
[-NoServiceRestart]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Disable-PSSessionConfiguration
Cmdlet 會停用本機電腦上的會話設定,以防止所有使用者使用會話設定在本機計算機上建立使用者管理的會話(PSSessions)。 這是一個進階 Cmdlet,其設計目的是由系統管理員用來管理其使用者的自定義會話設定。
從 PowerShell 3.0 開始,Disable-PSSessionConfiguration
Cmdlet 會將會話組態的 enabled 設定WSMan:\localhost\Plugins\<SessionConfiguration>\Enabled
設為 False。
在 PowerShell 2.0 中,Disable-PSSessionConfiguration
Cmdlet 會將 Deny_All 專案新增至一或多個已註冊工作階段設定的安全性描述項。
如果沒有參數,Disable-PSSessionConfiguration
會停用 Microsoft.PowerShell 組態,這是會話所使用的預設組態。 除非使用者指定不同的組態,否則會有效防止本機和遠端使用者建立任何連線到計算機的會話。
若要停用電腦上的所有工作階段設定,請使用 Disable-PSRemoting
。
範例
範例 1:停用預設組態
此範例會停用 Microsoft.PowerShell 會話設定。
Disable-PSSessionConfiguration
範例 2:停用所有已註冊的會話設定
此範例會停用計算機上所有已註冊的會話設定。
Disable-PSSessionConfiguration -Name *
範例 3:依名稱停用會話設定
此範例會停用名稱開頭為 Microsoft 的所有會話組態。 Force 參數會隱藏來自 Cmdlet 的所有使用者提示。
Disable-PSSessionConfiguration -Name Microsoft* -Force
範例 4:使用管線停用會話設定
此範例會停用 MaintenanceShell 和 AdminShell 會話設定。 管線運算子 (|) 會將 Get-PSSessionConfiguration
的結果傳送至 Disable-PSSessionConfiguration
。
Get-PSSessionConfiguration -Name MaintenanceShell, AdminShell | Disable-PSSessionConfiguration
範例 5:停用會話設定的效果
此範例顯示執行 Disable-PSSessionConfiguration
前後的許可權,以及停用會話設定的效果。
PS> Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto
Name Permission
---- ----------
MaintenanceShell BUILTIN\Administrators AccessAllowed
microsoft.powershell BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed
PS> Disable-PSSessionConfiguration -Name MaintenanceShell -Force
PS> Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto
Name Permission
---- ----------
MaintenanceShell Everyone AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed
PS> New-PSSession -ComputerName localhost -ConfigurationName MaintenanceShell
[localhost] Connecting to remote server failed with the following error message : Access is denied.
For more information, see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed
注意
停用組態並不會阻止您使用 Set-PSSessionConfiguration
Cmdlet 變更組態。 它只會防止使用組態。
參數
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Force
強制命令執行,而不要求使用者確認。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Name
指定要停用的工作階段組態名稱陣列。 輸入一或多個組態名稱。 允許通配符。 您也可以使用管線將包含群組態名稱或工作階段組態物件的字串傳送至 Disable-PSSessionConfiguration
。
如果您省略此參數,Disable-PSSessionConfiguration
會停用 Microsoft.PowerShell 會話設定。
類型: | String[] |
Position: | 0 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | True |
-NoServiceRestart
用來防止重新啟動 WSMan 服務。 不需要重新啟動服務以停用設定。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
Microsoft.PowerShell.Commands.PSSessionConfigurationCommands
您可以使用管線將會話組態物件或包含工作階段組態名稱的字串傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何物件。
備註
若要執行此 Cmdlet,您必須使用 [以 系統管理員身分執行] 選項