Disable-PSSessionConfiguration
停用本機電腦上的會話設定。
語法
Disable-PSSessionConfiguration
[[-Name] <String[]>]
[-Force]
[-NoServiceRestart]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
此 Cmdlet 僅適用於 Windows 平臺。
Cmdlet Disable-PSSessionConfiguration
會停用本機計算機上的會話設定,以防止所有使用者使用會話設定在本機計算機上建立使用者管理的會話 (PSSessions)。 這是一個進階 Cmdlet,其設計目的是由系統管理員用來管理其使用者的自定義會話設定。
從 PowerShell 3.0 開始,Cmdlet 會將Disable-PSSessionConfiguration
會話組態WSMan:\localhost\Plugins\<SessionConfiguration>\Enabled
的 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
注意
停用組態並不會阻止您使用 Cmdlet 變更組態 Set-PSSessionConfiguration
。 它只會防止使用組態。
參數
-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。
您可以使用管線將包含工作階段組態名稱的字串傳送至此 Cmdlet。
輸出
None
此 Cmdlet 不會傳回任何輸出。
備註
此 Cmdlet 僅適用於 Windows 平臺。
若要執行此 Cmdlet,您必須使用 [ 以系統管理員 身分執行] 選項啟動 PowerShell。