Disable-PSSessionConfiguration

停用本機電腦上的會話設定。

Syntax

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管理員 Shell 工作階段設定。 管線運算子 (|) 會將 的結果 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 之前先提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

強制命令執行,而不要求使用者確認。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定要停用的工作階段組態名稱陣列。 輸入一或多個組態名稱。 允許通配符。 您也可以使用管線將包含群組態名稱或工作階段組態物件的字串傳送至 Disable-PSSessionConfiguration

如果您省略此參數, Disable-PSSessionConfiguration停用 Microsoft.PowerShell 會話設定。

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-NoServiceRestart

用來防止重新啟動 WSMan 服務。 不需要重新啟動服務以停用設定。

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

您可以使用管線將會話組態物件傳送至此 Cmdlet。

String

您可以使用管線將包含工作階段組態名稱的字串傳送至此 Cmdlet。

輸出

None

此 Cmdlet 不會傳回任何輸出。

備註

此 Cmdlet 僅適用於 Windows 平臺。

若要執行此 Cmdlet,您必須使用 [ 以系統管理員 身分執行] 選項啟動 PowerShell。