New-PSWorkflowSession

建立工作流程會話。

Syntax

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 屬性值。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Authentication

指定用來驗證使用者認證的機制。 此參數可接受的值為:

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

預設值是 Default

CredSSP 驗證僅適用於 Windows Vista、Windows Server 2008 和更新版本的 Windows 操作系統。

如需此參數值的詳細資訊,請參閱 AuthenticationMechanism 列舉

警告

認證安全性服務提供者 (CredSSP) 驗證,其中使用者認證會傳遞至要驗證的遠端電腦,是針對需要驗證多個資源的命令所設計,例如存取遠端網路共用。 此機制會增加遠端作業的安全性風險。 如果遠端電腦遭到入侵,傳遞給它的認證可用來控制網路會話。

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

指定具有執行此動作許可權之用戶帳戶的數位公鑰憑證 (X509)。 輸入憑證的憑證指紋。

憑證將用於用戶端憑證式驗證。 它們只能對應至本機用戶帳戶;它們不適用於網域帳戶。

若要取得憑證指紋,請使用 Get-Item Windows PowerShell Cert: 磁碟驅動器中的 Cmdlet 或 Get-ChildItem Cmdlet。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

建立與指定計算機的持續連線(PSSession)。 如果您輸入多個計算機名稱,Windows PowerShell 會建立多個 PSSession,每部計算機各一個。 預設是本機電腦。

輸入 NetBIOS 名稱、IP 位址或一或多部遠端電腦的完整功能變數名稱。 若要指定本機計算機,請輸入計算機名稱 、 localhost或點 (.)。 當計算機位於與使用者不同的網域時,需要完整功能變數名稱。 您也可以使用管線將計算機名稱以引號括住 New-PSWorkflowSession

若要在 ComputerName 參數的值中使用 IP 位址,命令必須包含 Credential 參數。 此外,計算機必須針對 HTTPS 傳輸進行設定,或遠端電腦的 IP 位址必須包含在本機電腦上的 WinRM TrustedHosts 清單中。 如需將計算機名稱新增至 TrustedHosts 清單的指示,請參閱 about_Remote_Troubleshooting 中的

Type:String[]
Aliases:Cn
Position:0
Default value:Local computer
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Credential

指定具有執行此動作許可權的用戶帳戶。 預設為目前使用者。 輸入使用者名稱,例如 User01、、 或 User@Domain.com,或輸入 PSCredential 物件,例如 Cmdlet 所傳回的用戶Get-CredentialDomain01\User01名稱。

當您輸入使用者名稱時,此 Cmdlet 會提示您輸入密碼。

Type:Object
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableNetworkAccess

指出此 Cmdlet 會將互動式安全性令牌新增至回送會話。 互動式令牌可讓您在從其他電腦取得數據的回送會話中執行命令。 例如,您可以在會話中執行命令,將 XML 檔案從遠端電腦複製到本機電腦。

回送會話是一種 PSSession,源自同一部計算機並結束。 若要建立回送會話,請勿指定 ComputerName 參數,或將其值設定為 dot (.), localhost或本機計算機的名稱。

根據預設,會建立具有網路令牌的回送會話,可能無法提供足夠的許可權來向遠端計算機進行驗證。

EnableNetworkAccess 參數只在回送會話中有效。 如果您在遠端電腦上建立會話時指定 EnableNetworkAccess 參數,命令會成功,但會忽略 參數。

您也可以使用 Authentication 參數的 CredSSP 值,在回送會話中允許遠端訪問,此參數會將會話認證委派給其他電腦。

若要保護計算機免於惡意存取,具有互動式令牌的已中斷聯機回送會話,使用 EnableNetworkAccess 參數所建立的會話只能從建立會話的計算機重新連線。 使用 CredSSP 驗證的已中斷聯機會話可以從其他電腦重新連線。 如需詳細資訊,請參閱 Disconnect-PSSession Cmdlet。

此參數是在 Windows PowerShell 3.0 中引進的。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定工作流程會話的易記名稱。 您可以將名稱與其他 Cmdlet 搭配使用,例如 Get-PSSessionEnter-PSSession。 名稱不一定是計算機或目前會話的唯一名稱。

Type:String[]
Position:Named
Default value:Session#
Required:False
Accept pipeline input:False
Accept wildcard characters: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 參數。 命令中的埠設定會套用至命令執行所在的所有計算機或會話。 替代埠設定可能會防止命令在所有計算機上執行。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SessionOption

指定工作階段的進階選項。 輸入 SessionOption 物件,例如您使用 Cmdlet 建立的物件New-PSSessionOption

如果設定選項,選項的 $PSSessionOption 預設值取決於喜好設定變數的值。 否則,預設值是由會話組態中設定的選項所建立。

會話選項值優先於喜好設定變數和會話組態中 $PSSessionOption 設定之會話的預設值。 不過,它們不會優先於會話設定中設定的最大值、配額或限制。 如需工作階段設定的詳細資訊,請參閱 about_Session_Configurations

如需工作階段選項的描述,包括預設值,請參閱 New-PSSessionOption。 如需喜好設定變數的相關信息 $PSSessionOption ,請參閱 about_Preference_Variables

Type:PSSessionOption
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

指定可以建立以執行此命令的並行連線數目上限。 如果您省略此參數或輸入 值 0 (零),則會使用 Microsoft.PowerShellWorkflow 工作階段組態100預設值 。

節流限制僅適用於目前的命令,不適用於會話或計算機。

Type:Int32
Position:Named
Default value:100
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

指出此 Cmdlet 會使用安全套接字層 (SSL) 通訊協定來建立與遠端電腦的連線。 預設不會使用 SSL。

WS-Management 會加密透過網路傳輸的所有 Windows PowerShell 內容。 UseSSL 參數是額外的保護,可跨 HTTPS 連線傳送數據,而不是 HTTP 連線。

如果您指定此參數,但在用於命令的埠上無法使用 SSL,則命令會失敗。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

PSSession

您可以使用管線將會話傳送至此 Cmdlet。

String

您可以使用管線將電腦名稱傳送至此 Cmdlet。

輸出

PSSession

備註

Windows PowerShell 包含下列的 New-PSWorkflowSession別名:

  • nwsn

New-PSWorkflowSession命令相當於下列命令:

New-PSSession -ConfigurationName Microsoft.PowerShell.Workflow