共用方式為


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 會話組態的 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︰使用管線停用工作階段設定

此範例會停用 MaintenanceShellAdminShell 會話設定。 管線運算子 (|) 將 的結果 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 前提示您確認。

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。

輸出

None

此 Cmdlet 不會傳回任何物件。

備註

此 Cmdlet 僅適用於 Windows 平臺。

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