Disable-PSSessionConfiguration
拒絕存取本機電腦的工作階段設定。
語法
Disable-PSSessionConfiguration [[-Name] <string[]>] [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]
描述
Disable-PSSessionConfiguration Cmdlet 會防止所有電腦使用者在工作階段中使用工作階段設定。這是進階的 Cmdlet,適合系統管理員用來管理使用者的自訂工作階段設定。
Disable-PSSessionConfiguration Cmdlet 會將「全部拒絕」設定新增至一個或多個已註冊工作階段設定的安全性描述元。因此,雖然您可以取消註冊、檢視和變更設定,不過無法在工作階段中使用它們。
如果沒有使用參數,Disable-PSSessionConfiguration 就會停用 Microsoft.PowerShell 設定 (用於工作階段的預設設定)。除非使用者指定了不同的設定,否則系統會有效地防止本機和遠端使用者建立連線到電腦的任何工作階段。
若要停用電腦上的所有工作階段設定,請使用 Disable-PSRemoting。
參數
-Force
抑制所有使用者提示。根據預設,系統會要求您確認每項作業。
必要? |
false |
位置? |
named |
預設值 |
False |
接受管線輸入? |
false |
接受萬用字元? |
false |
-Name <string[]>
指定要停用之工作階段設定的名稱。請輸入一個或多個設定名稱。允許使用萬用字元。您也可以經由管道將包含設定名稱的字串或工作階段設定物件輸出至 Disable-PSSessionConfiguration。
如果您省略這個參數,Disable-PSSessionConfiguration 就會停用 Microsoft.PowerShell 工作階段設定。
必要? |
false |
位置? |
1 |
預設值 |
Microsoft.PowerShell |
接受管線輸入? |
true (ByValue, ByPropertyName) |
接受萬用字元? |
true |
-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 或 System.String 您可經由管道將工作階段設定物件或包含工作階段設定名稱的字串輸出至 Disable-PSSessionConfiguration。 |
輸出 |
無 這個 Cmdlet 不會傳回任何物件。 |
附註
若要在 Windows Vista、Windows Server 2008 和更新版的 Windows 上執行這個 Cmdlet,您必須使用 [以系統管理員身分執行] 選項啟動 Windows PowerShell。
範例 1
C:\PS>Disable-PSSessionConfiguration
描述
-----------
這個命令會停用 Microsoft.PowerShell 工作階段設定。
範例 2
C:\PS>disable-pssessionConfiguration -name *
描述
-----------
這個命令會停用電腦上所有已註冊的工作階段設定。
範例 3
C:\PS>disable-pssessionConfiguration -name Microsoft* -force
描述
-----------
這個命令會停用名稱以 "Microsoft" 為開頭的所有工作階段設定。此命令會使用 Force 參數來抑制命令的所有使用者提示。
範例 4
C:\PS>Get-PSSessionConfiguration -name MaintenanceShell, AdminShell | Disable-PSSessionConfiguration
描述
-----------
這個命令會停用 MaintenanceShell 和 AdminShell 工作階段設定。
此命令會使用管線運算子 (|),將 Get-PSSessionConfiguration 命令的結果傳送至 Disable-PSSessionConfiguration。
範例 5
C:\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
C:\PS> Disable-PSSessionConfiguration -name MaintenanceShell -force
C:\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
C:\PS> Set-PSSessionConfiguration -name MaintenanceShell -MaximumReceivedDataSizePerCommandMB 60
ParamName ParamValue
--------- ----------
psmaximumreceived... 60
"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
C:\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_Troubl
eshooting Help topic.
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed
描述
-----------
這個範例會示範停用工作階段設定的作用。
第一個命令會使用 Get-SessionConfiguration 和 Format-Table Cmdlet,僅顯示工作階段設定物件的 Name 和 Permission 屬性。這種表格格式可方便您查看物件的值。結果顯示,Administrators 群組的成員允許使用工作階段設定。
第二個命令會使用 Disable-PSSessionConfiguration Cmdlet 來停用 MaintenanceShell 工作階段設定。此命令會使用 Force 參數來抑制所有使用者提示。
第三個命令與第一個命令重複。結果顯示,您仍然可以取得代表 MaintenanceShell 工作階段設定的物件,即使拒絕所有人的存取權也一樣。"AccessDenied" 項目的優先順序高於安全性描述元中的所有其他項目。
第四個命令會使用 Set-PSSessionConfiguration Cmdlet,將 MaintenanceShell 工作階段設定的 MaximumDataSizePerCommandMB 設定增加至 60。結果顯示,此命令會成功,即使拒絕所有人的設定存取權也一樣。
第五個命令會嘗試在工作階段中使用 MaintenanceShell 工作階段設定。它會使用 New-PSSession Cmdlet 來建立新的工作階段,並且使用 ConfigurationName 參數來指定 MaintenanceShell 設定。結果顯示,New-PSSession 命令會失敗,因為拒絕使用者的設定存取權。
請參閱
概念
about_Session_Configurations
Enable-PSSessionConfiguration
Get-PSSessionConfiguration
Register-PSSessionConfiguration
Set-PSSessionConfiguration
Unregister-PSSessionConfiguration
WSMan Provider