New-PSWorkflowSession
建立工作流程會話。
語法
New-PSWorkflowSession
[[-ComputerName] <String[]>]
[-Credential <Object>]
[-Name <String[]>]
[-Port <Int32>]
[-UseSSL]
[-ApplicationName <String>]
[-ThrottleLimit <Int32>]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-EnableNetworkAccess]
[<CommonParameters>]
Description
此 New-PSWorkflowSession
Cmdlet 會建立使用者管理的會話 (PSSession),專為執行 Windows PowerShell 工作流程而設計。 它會使用 Microsoft.PowerShell.Workflow 作業階段組態,其中包含腳本、類型和格式化檔案,以及工作流程所需的選項。
您可以使用 New-PSWorkflowSession
或別名 nwsn
您也可以將工作流程一般參數新增至此命令。 如需工作流程一般參數的詳細資訊,請參閱 about_WorkflowCommonParameters
此 Cmdlet 已在 Windows PowerShell 3.0 中引進。
範例
範例 1:在遠端計算機上建立工作流程會話
此範例會在 ServerNode01 遠端電腦上建立 WorkflowTests 會話。
$params = @{
ComputerName = "ServerNode01"
Name = "WorkflowTests"
SessionOption = (New-PSSessionOption -OutputBufferingMode Drop)
}
New-PSWorkflowSession @params
SessionOption 參數的值是New-PSSessionOption
將會話中的輸出緩衝模式設定為Drop的命令。
範例 2:在多部遠端計算機上建立工作流程會話
此範例會在 ServerNode01 和 Server12 計算機上建立工作流程會話。 此命令會 使用 Credential 參數,以網域系統管理員的許可權執行。
"ServerNode01", "Server12" |
New-PSWorkflowSession -Name WorkflowSession -Credential Domain01\Admin01 -ThrottleLimit 150
這個指令會使用 ThrottleLimit 參數,將每個命令的節流限制增加為 150
。 此值的優先順序高於 Microsoft.PowerShell.Workflow 會話設定中所設定的預設節流限制100
。
參數
-ApplicationName
指定連線 URI 的應用程式名稱區段。
預設值是本機電腦上的喜好設定變數值 $PSSessionApplicationName
。 如果未定義此喜好設定變數,預設值為 WSMAN。 此值適用於大部分使用。 如需詳細資訊,請參閱 about_Preference_Variables。
WinRM 服務會使用應用程式名稱來選取接聽程式以服務連線要求。 此參數的值應該符合 遠端電腦上接聽程式的 URLPrefix 屬性值。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Authentication
指定用來驗證使用者認證的機制。 此參數可接受的值為:
Default
Basic
Credssp
Digest
Kerberos
Negotiate
NegotiateWithImplicitCredential
預設值是 Default
。
CredSSP 驗證僅適用於 Windows Vista、Windows Server 2008 和更新版本的 Windows 操作系統。
如需此參數值的詳細資訊,請參閱 AuthenticationMechanism 列舉。
警告
認證安全性服務提供者 (CredSSP) 驗證,其中使用者認證會傳遞至要驗證的遠端電腦,是針對需要驗證多個資源的命令所設計,例如存取遠端網路共用。 此機制會增加遠端作業的安全性風險。 如果遠端電腦遭到入侵,傳遞給它的認證可用來控制網路會話。
類型: | AuthenticationMechanism |
接受的值: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
預設值: | Default |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-CertificateThumbprint
指定具有執行此動作許可權之用戶帳戶的數位公鑰憑證 (X509)。 輸入憑證的憑證指紋。
憑證將用於用戶端憑證式驗證。 它們只能對應至本機用戶帳戶;它們不適用於網域帳戶。
若要取得憑證指紋,請使用 Get-Item
Windows PowerShell Cert:
磁碟驅動器中的 Cmdlet 或 Get-ChildItem
Cmdlet。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ComputerName
建立與指定計算機的持續連線(PSSession)。 如果您輸入多個計算機名稱,Windows PowerShell 會建立多個 PSSession,每部計算機各一個。 預設是本機電腦。
輸入 NetBIOS 名稱、IP 位址或一或多部遠端電腦的完整功能變數名稱。 若要指定本機計算機,請輸入計算機名稱 、 localhost
或點 (.
)。 當計算機位於與使用者不同的網域時,需要完整功能變數名稱。
您也可以使用管線將計算機名稱以引號括住 New-PSWorkflowSession
。
若要在 ComputerName 參數的值中使用 IP 位址,命令必須包含 Credential 參數。 此外,計算機必須針對 HTTPS 傳輸進行設定,或遠端電腦的 IP 位址必須包含在本機電腦上的 WinRM TrustedHosts 清單中。 如需將計算機名稱新增至 TrustedHosts 清單的指示,請參閱 about_Remote_Troubleshooting 中的。
類型: | String[] |
別名: | Cn |
Position: | 0 |
預設值: | Local computer |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-Credential
指定具有執行此動作許可權的用戶帳戶。 預設為目前使用者。 輸入使用者名稱,例如 User01
、、 或 User@Domain.com
,或輸入 PSCredential 物件,例如 Cmdlet 所傳回的用戶Get-Credential
Domain01\User01
名稱。
當您輸入使用者名稱時,此 Cmdlet 會提示您輸入密碼。
類型: | Object |
Position: | Named |
預設值: | Current user |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-EnableNetworkAccess
指出此 Cmdlet 會將互動式安全性令牌新增至回送會話。 互動式令牌可讓您在從其他電腦取得數據的回送會話中執行命令。 例如,您可以在會話中執行命令,將 XML 檔案從遠端電腦複製到本機電腦。
回送會話是一種 PSSession,源自同一部計算機並結束。 若要建立回送會話,請勿指定 ComputerName 參數,或將其值設定為 dot (.
), localhost
或本機計算機的名稱。
根據預設,會建立具有網路令牌的回送會話,可能無法提供足夠的許可權來向遠端計算機進行驗證。
EnableNetworkAccess 參數只在回送會話中有效。 如果您在遠端電腦上建立會話時指定 EnableNetworkAccess 參數,命令會成功,但會忽略 參數。
您也可以使用 Authentication 參數的 CredSSP 值,在回送會話中允許遠端訪問,此參數會將會話認證委派給其他電腦。
若要保護計算機免於惡意存取,具有互動式令牌的已中斷聯機回送會話,使用 EnableNetworkAccess 參數所建立的會話只能從建立會話的計算機重新連線。 使用 CredSSP 驗證的已中斷聯機會話可以從其他電腦重新連線。 如需詳細資訊,請參閱 Disconnect-PSSession
Cmdlet。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Name
指定工作流程會話的易記名稱。 您可以將名稱與其他 Cmdlet 搭配使用,例如 Get-PSSession
與 Enter-PSSession
。 名稱不一定是計算機或目前會話的唯一名稱。
類型: | String[] |
Position: | Named |
預設值: | Session# |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Port
指定用於此連線之遠端電腦上的網路埠。 若要連線到遠端電腦,遠端計算機必須接聽連線所使用的埠。 默認埠為 5985
(適用於 HTTP 的 WinRM 連接埠) 和 5986
(適用於 HTTPS 的 WinRM 連接埠)。
使用另一個埠之前,您必須在遠端電腦上設定 WinRM 接聽程式,以在該埠上接聽。 使用下列命令來設定接聽程式:
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
除非您必須,否則請勿使用 Port 參數。 命令中的埠設定會套用至命令執行所在的所有計算機或會話。 替代埠設定可能會防止命令在所有計算機上執行。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SessionOption
指定工作階段的進階選項。 輸入 SessionOption 物件,例如您使用 Cmdlet 建立的物件New-PSSessionOption
。
如果設定選項,選項的 $PSSessionOption
預設值取決於喜好設定變數的值。 否則,預設值是由會話組態中設定的選項所建立。
會話選項值優先於喜好設定變數和會話組態中 $PSSessionOption
設定之會話的預設值。 不過,它們不會優先於會話設定中設定的最大值、配額或限制。 如需工作階段設定的詳細資訊,請參閱 about_Session_Configurations。
如需工作階段選項的描述,包括預設值,請參閱 New-PSSessionOption
。
如需喜好設定變數的相關信息 $PSSessionOption
,請參閱 about_Preference_Variables。
類型: | PSSessionOption |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ThrottleLimit
指定可以建立以執行此命令的並行連線數目上限。
如果您省略此參數或輸入 值 0
(零),則會使用 Microsoft.PowerShellWorkflow 工作階段組態100
的預設值 。
節流限制僅適用於目前的命令,不適用於會話或計算機。
類型: | Int32 |
Position: | Named |
預設值: | 100 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UseSSL
指出此 Cmdlet 會使用安全套接字層 (SSL) 通訊協定來建立與遠端電腦的連線。 預設不會使用 SSL。
WS-Management 會加密透過網路傳輸的所有 Windows PowerShell 內容。 UseSSL 參數是額外的保護,可跨 HTTPS 連線傳送數據,而不是 HTTP 連線。
如果您指定此參數,但在用於命令的埠上無法使用 SSL,則命令會失敗。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
您可以使用管線將會話傳送至此 Cmdlet。
您可以使用管線將電腦名稱傳送至此 Cmdlet。
輸出
備註
Windows PowerShell 包含下列的 New-PSWorkflowSession
別名:
nwsn
New-PSWorkflowSession
命令相當於下列命令:
New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow