New-PSWorkflowExecutionOption
建立包含工作流程工作階段之工作階段設定選項的物件。
Syntax
New-PSWorkflowExecutionOption
[-PersistencePath <String>]
[-MaxPersistenceStoreSizeGB <Int64>]
[-PersistWithEncryption]
[-MaxRunningWorkflows <Int32>]
[-AllowedActivity <String[]>]
[-OutOfProcessActivity <String[]>]
[-EnableValidation]
[-MaxDisconnectedSessions <Int32>]
[-MaxConnectedSessions <Int32>]
[-MaxSessionsPerWorkflow <Int32>]
[-MaxSessionsPerRemoteNode <Int32>]
[-MaxActivityProcesses <Int32>]
[-ActivityProcessIdleTimeoutSec <Int32>]
[-RemoteNodeSessionIdleTimeoutSec <Int32>]
[-SessionThrottleLimit <Int32>]
[-WorkflowShutdownTimeoutMSec <Int32>]
[<CommonParameters>]
Description
Cmdlet New-PSWorkflowExecutionOption
會建立物件,其中包含工作流程會話設定的進階選項,也就是設計用來執行工作流程工作流程 Windows PowerShell 會話組態。
您可以使用 PSWorkflowExecutionOption 對象來 New-PSWorkflowExecutionOption
產生作為建立或變更會話組態之 Cmdlet 的 SessionTypeOption 參數值,例如 Register-PSSessionConfiguration
和 Set-PSSessionConfiguration
Cmdlet。
Cmdlet 的每個 New-PSWorkflowExecutionOption
參數都代表 Cmdlet 傳回之工作流程會話組態選項對象的屬性。 若省略參數,Cmdlet 會使用屬性的預設值來建立物件。
Cmdlet New-PSWorkflowExecutionOption
是 Windows PowerShell 工作流程功能的一部分。
您也可以新增工作流程一般參數到此命令。 如需工作流程通用參數的詳細資訊,請參閱 about_WorkflowCommonParameters。
此 Cmdlet 是在 Windows PowerShell 3.0 引進。
範例
範例 1:Create 工作流程選項物件
New-PSWorkflowExecutionOption -MaxSessionsPerWorkflow 10 -MaxDisconnectedSessions 200
SessionThrottleLimit : 100
PersistencePath : C:\Users\User01\AppData\Local\Microsoft\Windows\PowerShell\WF\PS
MaxPersistenceStoreSizeGB : 10
PersistWithEncryption : False
MaxRunningWorkflows : 30
AllowedActivity : {PSDefaultActivities}
OutOfProcessActivity : {InlineScript}
EnableValidation : True
MaxDisconnectedSessions : 200
MaxConnectedSessions : 100
MaxSessionsPerWorkflow : 10
MaxSessionsPerRemoteNode : 5
MaxActivityProcesses : 5
ActivityProcessIdleTimeoutSec : 60
RemoteNodeSessionIdleTimeoutSec : 60
WorkflowShutdownTimeoutMSec : 500
此命令會 New-PSWorkflowExecutionOption
使用 Cmdlet 將 MaxSessionsPerWorkflow 值增加到 10,並將 MaxDisconnectedSessions 值減少為 200。
輸出會顯示 Cmdlet 傳回的物件。
範例 2:使用工作流程選項物件
# Create a Workflow Options object and save it in a variable
$wo = New-PSWorkflowExecutionOption -MaxSessionsPerWorkflow 10 -MaxDisconnectedSessions 200
# Create the ITWorkflow session configuration
Register-PSSessionConfiguration -Name ITWorkflows -SessionTypeOption $wo -Force
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin
Type Keys Name
---- ---- ----
Container {Name=ITWorkflows} ITWorkflows
Get-PSSessionConfiguration ITWorkflows | Format-List -Property *
Architecture : 64
Filename : %windir%\system32\pwrshplugin.dll
ResourceUri : https://schemas.microsoft.com/powershell/ITWorkflows
MaxConcurrentCommandsPerShell : 1000
allowedactivity : PSDefaultActivities
UseSharedProcess : false
ProcessIdleTimeoutSec : 0
xmlns : https://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers : 5
maxsessionsperworkflow : 10
lang : en-US
sessionconfigurationdata : <SessionConfigurationData>
<Param Name='PrivateData'>
<PrivateData>
<ParamName='enablevalidation' Value='True'/>
<Param Name='allowedactivity'Value='PSDefaultActivities' />
<Param Name='outofprocessactivity' Value='InlineScript'/>
<Param Name='maxdisconnectedsessions' Value='200' />
<ParamName='maxsessionsperworkflow' Value='10'/>
</PrivateData>
</Param>
</SessionConfigurationData>
SupportsOptions : true
ExactMatch : true
RunAsUser :
IdleTimeoutms : 7200000
PSVersion : 3.0
OutputBufferingMode : Block
AutoRestart : false
MaxShells : 25
MaxMemoryPerShellMB : 1024
MaxIdleTimeoutms : 43200000
outofprocessactivity : InlineScript
SDKVersion : 2
Name : ITWorkflows
XmlRenderingType : text
Capability : {Shell}
RunAsPassword :
MaxProcessesPerShell : 15
enablevalidation : True
Enabled : True
maxdisconnectedsessions : 200
MaxShellsPerUser : 25
Permission :
前兩個命令會建立新的工作階段組態物件,並加以註冊。
第三個命令會 Get-PSSessionConfiguration
使用 Cmdlet 來取得 ITWorkflows 會話組態,以及在 Format-List
清單中顯示會話組態的所有屬性。輸出會顯示會話組態中的工作流程選項。 特別是,工作階段設定具有值為 10 的 MaxSessionsPerWorkflow 屬性,以及值為 200 的 MaxDisconnectedSessions 屬性。
參數
-ActivityProcessIdleTimeoutSec
指定當處理程序成為閒置之後,每個活動主機處理程序的保留時間。 當間隔時間過期時,處理程序就會關閉。
輸入以秒為單位的值。 預設值為 60。
Type: | Int32 |
Position: | Named |
Default value: | 60 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowedActivity
指定允許在工作階段中執行的活動。
輸入命名空間限定的活動名稱,例如 Microsoft.Powershell.HyperV.Activities.*
。
支援使用萬用字元。 預設值 PSDefaultActivities 包含內建的 Windows Workflow Foundation 活動與代表 Windows PowerShell Core Cmdlet 的活動。
Type: | String[] |
Position: | Named |
Default value: | PSDefaultActivities |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnableValidation
確認工作階段中的所有工作流程活動都已包含在允許活動清單中。
預設值為 true。 若要停用驗證,請使用下列命令格式: -EnableValidation:$false
。
Type: | SwitchParameter |
Position: | Named |
Default value: | True |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxActivityProcesses
指定可在工作階段中建立以支援工作流程活動的處理程序數目上限。 預設值為 5。
Type: | Int32 |
Position: | Named |
Default value: | 5 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxConnectedSessions
指定處於操作狀態的遠端工作階段數目上限。 此配額會套用到連線到所有遠端節點 (目標電腦) 的工作階段。 預設值是 100。
Type: | Int32 |
Position: | Named |
Default value: | 100 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxDisconnectedSessions
指定處於中斷連線狀態的遠端工作階段數目上限。 此配額會套用到連線到所有遠端節點 (目標電腦) 的工作階段。 預設值為 1000。
Type: | Int32 |
Position: | Named |
Default value: | 1000 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxPersistenceStoreSizeGB
指定配置給在工作階段中執行之工作流程的持續性儲存區大小上限 (單位為 GB)。 超過該大小時,會擴充持續性儲存區以儲存所有持續性資料,但會顯示警告並寫入一個訊息到工作流程事件記錄檔。 預設值是 10。
持續性儲存區包含所有工作流程工作的資料。 儲存資料的能力可讓工作繼續執行,而不會遺失狀態。
Type: | Int64 |
Position: | Named |
Default value: | 10 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxRunningWorkflows
指定可以同時在工作階段中執行的工作流程數目上限。 預設值是 30。
Type: | Int32 |
Position: | Named |
Default value: | 30 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxSessionsPerRemoteNode
指定可以連線到每個遠端節點 (目標電腦) 的工作階段數目上限。 預設值為 5。
Type: | Int32 |
Position: | Named |
Default value: | 5 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxSessionsPerWorkflow
指定可以建立以支援每個工作流程的工作階段數目上限。 預設值為 5。
Type: | Int32 |
Position: | Named |
Default value: | 5 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OutOfProcessActivity
決定哪些允許的活動 (由 AllowedActivities 參數指定) 可跨處理序執行。 預設值為 InlineScript。
Type: | String[] |
Position: | Named |
Default value: | InlineScript |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PersistencePath
指定用來儲存工作流程狀態與資料的磁碟位置。 儲存工作流程狀態與資料可讓工作流程暫停並繼續,以及在發生中斷或網路故障時復原。
預設值是 $env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS
。
Type: | String |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PersistWithEncryption
表示工作流程會加密持續性存放區中的數據。 將持續性資料儲存在網路共用時,請考慮使用此功能。
Type: | SwitchParameter |
Position: | Named |
Default value: | $env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RemoteNodeSessionIdleTimeoutSec
指定當連線到遠端節點 (目標電腦) 的工作階段成為閒置時,應該保留該工作階段多久。
輸入以秒為單位的值。 預設值為 60。
Type: | Int32 |
Position: | Named |
Default value: | 60 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionThrottleLimit
指定要建立多少操作以支援在工作階段中啟動的所有工作流程。 預設值是 100。
Type: | Int32 |
Position: | Named |
Default value: | 100 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WorkflowShutdownTimeoutMSec
指定強制暫停工作階段中的所有工作流程之後,應該保留該工作階段多久。 逾時期間經過之後,Windows PowerShell 會關閉該工作階段 (即使並非所有工作流程都已暫停)。
輸入以毫秒為單位的值。 預設值為 500。
Type: | Int32 |
Position: | Named |
Default value: | 500 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
None
您無法使用管線傳送輸入至此 Cmdlet。
輸出
備註
超過此選項所設定的最大值時,用來在工作階段中建立另一個執行個體的命令會失敗,除非在參數描述中另有設定。 例如,若 MaxConnectedSessions 的值是 100。 用來建立 101st 工作階段以連線到遠端節點 (目標電腦) 的命令會失敗。
工作階段設定物件的屬性取決於工作階段設定所設定的選項,以及這些選項的值。 此外,使用工作階段設定檔的工作階段設定會有額外的屬性。
特別是,包含 PSWorkflowExecutionOptions 物件的工作階段設定屬性視工作流程選項值而異。 例如,若工作階段設定包含會為 SessionThrottleLimit 屬性設定非預設值的 PSWorkflowExecutionOptions 物件,則該工作階段設定具有 SessionThrottleLimit 屬性。 否則,則沒有。