共用方式為


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 選項。





請參閱

概念

Enter-PSSession
New-PSSession
Invoke-Command