New-PSSessionOption
建立包含 PSSession 進階選項的物件。
語法
New-PSSessionOption [-ApplicationArguments <PSPrimitiveDictionary>] [-CancelTimeOut <int>] [-Culture <CultureInfo>] [-IdleTimeOut <int>] [-MaximumReceivedDataSizePerCommand <int>] [-MaximumReceivedObjectSize <int>] [-MaximumRedirection <int>] [-NoCompression] [-NoEncryption] [-NoMachineProfile] [-OpenTimeOut <int>] [-OperationTimeOut <int>] [-ProxyAccessType {<None> | <IEConfig> | <WinHttpConfig> | <AutoDetect> | <NoProxyServer>}] [-ProxyAuthentication {<Default> | <Basic> | <Negotiate> | <NegotiateWithImplicitCredential> | <Credssp> | <Digest> | <Kerberos>}] [-ProxyCredential <PSCredential>] [-SkipCACheck] [-SkipCNCheck] [-SkipRevocationCheck] [-UICulture <CultureInfo>] [-UseUTF16] [<CommonParameters>]
描述
New-PSSessionOption Cmdlet 會建立包含 PSSession 進階選項的物件。您可以使用此物件當做建立 PSSession 之 Cmdlet (例如 New-PSSession、Enter-PSSession 和 Invoke-Command) 的 SessionOption 參數值。
如果沒有使用參數,New-PSSessionOption 就會產生包含所有選項之預設值的物件。因為所有屬性都可以編輯,所以您可以使用產生的物件當做範本,然後為您的企業建立標準選項物件。
參數
-ApplicationArguments <PSPrimitiveDictionary>
指定直接傳送至工作階段設定而不進行解譯的雜湊表。工作階段設定可以將這個雜湊表當做 PSSenderInfo 類別的屬性使用。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-CancelTimeOut <int>
決定 Windows PowerShell 終止取消作業 (CTRL + C) 之前等候此作業完成的時間長度。請輸入以毫秒為單位的值。
預設值為 60000 (一分鐘)。值為 0 (零) 表示沒有逾時,此命令將無限期繼續執行。
必要? |
false |
位置? |
named |
預設值 |
60000 |
接受管線輸入? |
false |
接受萬用字元? |
false |
-Culture <CultureInfo>
指定 PSSession 所使用的文化特性。請使用 <languagecode2>-<country/regioncode2> 格式來輸入文化特性名稱 (例如 "ja-jP")、包含 CultureInfo 物件的變數,或可取得 CultureInfo 物件的命令 (例如 "Get-Culture")。
預設值為 $null,而且建立 PSSession 時在作業系統中設定的文化特性將用於此 PSSession 中。
必要? |
false |
位置? |
named |
預設值 |
目前的文化特性 |
接受管線輸入? |
false |
接受萬用字元? |
false |
-IdleTimeOut <int>
決定如果遠端電腦沒有從本機電腦收到任何通訊 (包括活動訊號),PSSession 維持開啟狀態的時間長度。超過此間隔時,PSSession 就會關閉。
請輸入以毫秒為單位的值。預設值為 240000 (4 分鐘)。最小值為 60000 (1 分鐘)。
如果本機和遠端電腦都指定了閒置逾時值,PSSession 就會使用較短的逾時值。本機電腦可以使用這個參數或在 $PSSessionOption 喜好設定變數中設定閒置逾時,藉以設定閒置逾時值。遠端電腦可以在 WS-Management 設定 (WSMAN:\localhost\shell\idletimeout) 中指定閒置逾時值。
必要? |
false |
位置? |
named |
預設值 |
240000 |
接受管線輸入? |
false |
接受萬用字元? |
false |
-MaximumReceivedDataSizePerCommand <int>
指定本機電腦可以從遠端電腦接收單一命令的位元組數目上限。請輸入以位元組為單位的值。根據預設,沒有資料大小限制。
這個選項的設計目的是要保護用戶端電腦的資源。
必要? |
false |
位置? |
named |
預設值 |
沒有限制 |
接受管線輸入? |
false |
接受萬用字元? |
false |
-MaximumReceivedObjectSize <int>
指定本機電腦可以從遠端電腦接收的物件大小上限。請輸入以位元組為單位的值。根據預設,沒有資料大小限制。
這個選項的設計目的是要保護用戶端電腦的資源。
必要? |
false |
位置? |
named |
預設值 |
沒有限制 |
接受管線輸入? |
false |
接受萬用字元? |
false |
-MaximumRedirection <int>
決定連線失敗之前,Windows PowerShell 將連線重新導向至替代統一資源識別項 (URI) 的次數。預設值為 5。值為 0 (零) 會防止所有重新導向。
只有當 AllowRedirection 參數用於建立 PSSession 的命令時,這個選項才會用於 PSSession。
必要? |
false |
位置? |
named |
預設值 |
5 |
接受管線輸入? |
false |
接受萬用字元? |
false |
-NoCompression
關閉 PSSession 的封包壓縮。雖然壓縮會使用更多處理器循環,不過它會加快傳輸速度。
必要? |
false |
位置? |
named |
預設值 |
False |
接受管線輸入? |
false |
接受萬用字元? |
false |
-NoEncryption
關閉資料加密。
必要? |
false |
位置? |
named |
預設值 |
False |
接受管線輸入? |
false |
接受萬用字元? |
false |
-NoMachineProfile
防止載入使用者的 Windows 使用者設定檔。因此,雖然 PSSession 的建立速度會更快,不過使用者特定的登錄設定、環境變數等項目以及憑證將無法用於 PSSession 中。
必要? |
false |
位置? |
named |
預設值 |
False |
接受管線輸入? |
false |
接受萬用字元? |
false |
-OpenTimeOut <int>
決定用戶端電腦等候系統建立工作階段連線的時間長度。超過此間隔時,建立連線的命令就會失敗。請輸入以毫秒為單位的值。
預設值為 180000 (3 分鐘)。值為 0 (零) 表示沒有逾時,此命令將無限期繼續執行。
必要? |
false |
位置? |
named |
預設值 |
180000 |
接受管線輸入? |
false |
接受萬用字元? |
false |
-OperationTimeOut <int>
決定 PSSession 中任何作業可執行的時間上限。超過此間隔時,作業就會失敗。請輸入以毫秒為單位的值。
預設值為 180000 (3 分鐘)。值為 0 (零) 表示沒有逾時,此作業將無限期繼續執行。
必要? |
false |
位置? |
named |
預設值 |
180000 |
接受管線輸入? |
false |
接受萬用字元? |
false |
-ProxyAccessType <ProxyAccessType>
決定用來解析主機名稱的機制。有效的值包括 IEConfig、WinHttpConfig、AutoDetect、NoProxyServer 和 None。預設值為 None。
如需這個參數值的詳細資訊,請參閱 MSDN (Microsoft Developer Network) Library 中的 System.Management.Automation.Remoting.ProxyAccessType 列舉說明,網址為:https://go.microsoft.com/fwlink/?LinkId=144756 (英文)。
必要? |
false |
位置? |
named |
預設值 |
無 |
接受管線輸入? |
false |
接受萬用字元? |
false |
-ProxyAuthentication <AuthenticationMechanism>
指定用於 Proxy 解析的驗證方法。有效的值包括 Basic、Digest 和 Negotiate。預設值為 Negotiate。
如需這個參數值的詳細資訊,請參閱 MSDN Library 中的 System.Management.Automation.Runspaces.AuthenticationMechanism 列舉說明,網址為:https://go.microsoft.com/fwlink/?LinkID=144382 (英文)。
必要? |
false |
位置? |
named |
預設值 |
Negotiate |
接受管線輸入? |
false |
接受萬用字元? |
false |
-ProxyCredential <PSCredential>
指定要用於 Proxy 驗證的認證。請輸入包含 PSCredential 物件的變數或可取得 PSCredential 物件的命令,例如 Get-Credential。如果沒有設定此選項,就不會指定任何認證。
必要? |
false |
位置? |
named |
預設值 |
無 |
接受管線輸入? |
false |
接受萬用字元? |
false |
-SkipCACheck
指定透過 HTTPS 進行連線時,用戶端並不會驗證由受信任之憑證授權單位 (CA) 所簽署的伺服器憑證。
請只有在遠端電腦使用其他機制受到信任 (例如,如果遠端電腦屬於實體安全且隔離的網路,或者遠端電腦在 WinRM 設定中是列為信任的主機) 時,才使用此選項。
必要? |
false |
位置? |
named |
預設值 |
False |
接受管線輸入? |
false |
接受萬用字元? |
false |
-SkipCNCheck
指定伺服器的憑證一般名稱 (CN) 不需要符合伺服器的主機名稱。這個選項只能用於使用 HTTPS 通訊協定的遠端作業中。
請只針對受信任的電腦使用這個選項。
必要? |
false |
位置? |
named |
預設值 |
False |
接受管線輸入? |
false |
接受萬用字元? |
false |
-SkipRevocationCheck
不會驗證伺服器憑證的撤銷狀態。
必要? |
false |
位置? |
named |
預設值 |
False |
接受管線輸入? |
false |
接受萬用字元? |
false |
-UICulture <CultureInfo>
指定 PSSession 所使用的 UI 文化特性。
請使用 <languagecode2>-<country/regioncode2> 格式來輸入文化特性名稱 (例如 "ja-jP")、包含 CultureInfo 物件的變數,或可取得 CultureInfo 物件的命令 (例如 Get-Culture)。
預設值為 $null,而且建立 PSSession 時在作業系統中設定的 UI 文化特性將用於此 PSSession 中。
必要? |
false |
位置? |
named |
預設值 |
目前的 UI 文化特性 |
接受管線輸入? |
false |
接受萬用字元? |
false |
-UseUTF16
以 UTF16 格式而非 UTF8 格式編碼要求。
必要? |
false |
位置? |
named |
預設值 |
False (UTF8 編碼) |
接受管線輸入? |
false |
接受萬用字元? |
false |
<CommonParameters>
這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.
輸入和輸出
輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。
輸入 |
無 您無法經由管道將輸入輸出至這個 Cmdlet。 |
輸出 |
System.Management.Automation.Remoting.PSSessionOption |
附註
如果 SessionOption 參數沒有用於建立 PSSession 的命令中,工作階段選項會由 $PSSessionOption 喜好設定變數的屬性值所決定 (如果有設定的話)。如需 $PSSessionOption 變數的詳細資訊,請參閱 about_Preference_Variables。
範例 1
C:\PS>New-PSSessionOption
MaximumConnectionRedirectionCount : 5
NoCompression : False
NoMachineProfile : False
ProxyAccessType : IEConfig
ProxyAuthentication : Negotiate
ProxyCredential :
SkipCACheck : False
SkipCNCheck : False
SkipRevocationCheck : False
OperationTimeout : 00:03:00
NoEncryption : False
UseUTF16 : False
Culture :
UICulture :
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize :
ApplicationArguments :
OpenTimeout : 00:03:00
CancelTimeout : 00:01:00
IdleTimeout : 00:04:00
描述
-----------
這個命令會使用所有預設值來建立工作階段選項物件。
範例 2
C:\PS>$pso = new-pssessionoption -Culture "fr-fr" -MaximumReceivedObjectSize 10MB
C:\PS> new-pssession -computerName Server01 -SessionOption $pso
描述
-----------
這個範例會示範如何使用工作階段選項物件來設定工作階段。
第一個命令會建立新的工作階段選項物件,並將它儲存在 $pso 變數的值中。
第二個命令會使用 New-PSSession Cmdlet,在 Server01 遠端電腦上建立 PSSession。此命令會使用 $pso 變數值中的工作階段選項物件做為命令之 SessionOption 參數的值。
範例 3
C:\PS>enter-pssession -computername Server01 -sessionOption (new-pssessionoption -noEncryption -noCompression)
描述
-----------
這個命令會使用 Enter-PSSession Cmdlet,啟動與 Server01 電腦之間的互動式工作階段。SessionOption 參數的值是具有 NoEncryption 和 NoCompression 切換參數的 New-PSSessionOption 命令。
以括號括住 New-PSSessionOption 命令,可確保它會在 Enter-PSSession 命令之前執行。
範例 4
C:\PS>$a = new-pssessionoption
MaximumConnectionRedirectionCount : 5
NoCompression : False
NoMachineProfile : False
ProxyAccessType : IEConfig
ProxyAuthentication : Negotiate
ProxyCredential :
SkipCACheck : False
SkipCNCheck : False
SkipRevocationCheck : False
OperationTimeout : 00:03:00
NoEncryption : False
UseUTF16 : False
Culture :
UICulture :
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize :
ApplicationArguments :
OpenTimeout : 00:03:00
CancelTimeout : 00:01:00
IdleTimeout : 00:04:00
C:\PS> $a.UICulture = (get-UICulture)
C:\PS> $a.OpenTimeout = (new-timespan -minutes 4)
C:\PS> $a.MaximumConnectionRedirectionCount = 1
C:\PS> $a
MaximumConnectionRedirectionCount : 1
NoCompression : False
NoMachineProfile : False
ProxyAccessType : IEConfig
ProxyAuthentication : Negotiate
ProxyCredential :
SkipCACheck : False
SkipCNCheck : False
SkipRevocationCheck : False
OperationTimeout : 00:03:00
NoEncryption : False
UseUTF16 : False
Culture :
UICulture : en-US
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize :
ApplicationArguments :
OpenTimeout : 00:04:00
CancelTimeout : 00:01:00
IdleTimeout : 00:04:00
描述
-----------
這個範例會示範您可以編輯工作階段選項物件。所有屬性都具有可讀取/寫入的值。
請使用這個方法,為您的企業建立標準工作階段物件,然後針對特定用途建立自訂的版本。
範例 5
C:\PS>$PSSessionOption = New-PSSessionOption -OpenTimeOut 120000
描述
-----------
這個命令會建立 $PSSessionOption 喜好設定變數。
當工作階段中存在 $PSSessionOption 喜好設定變數時,它會針對使用 New-PSSession、Enter-PSSession 和 Invoke-Command Cmdlet 所建立之 PSSession 的選項建立預設值。
若要讓 $PSSessionOption 變數可用於所有工作階段,請將它新增至 Windows PowerShell 工作階段和您的 Windows PowerShell 設定檔。
如需 $PSSessionOption 變數的詳細資訊,請參閱 about_Preference_Variables。如需設定檔的詳細資訊,請參閱 about_Profiles。
範例 6
C:\PS>$skipCN = new-pssessionoption -SkipCNCheck
C:\PS> new-pssession -computername 171.09.21.207 -UseSSL -credential domain01\user01 -sessionOption $skipCN
描述
-----------
這個範例會示範如何使用 SessionOption 物件來滿足遠端工作階段設定的需求。
第一個命令會使用 New-PSSessionOption Cmdlet 來建立具有 SkipCNCheck 屬性的工作階段選項物件。此命令會將產生的工作階段物件儲存在 $skipCN 變數中。
第二個命令會使用 New-PSSession Cmdlet,在遠端電腦上建立新的 PSSession。$skipCN 檢查變數會用於 SessionOption 參數的值。
因為電腦是依照 IP 位址加以識別,所以 ComputerName 參數的值不會符合憑證中用於安全通訊端層 (SSL) 的任何一般名稱。因此,需要使用 SkipCNCheck 選項。