New-PSWorkflowExecutionOption
建立物件,其中包含工作流程會話的會話組態選項。
語法
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
New-PSWorkflowExecutionOption
Cmdlet 會建立物件,其中包含工作流程會話組態的進階選項,也就是設計用來執行 Windows PowerShell 工作流程工作流程的會話組態。
您可以使用 PSWorkflowExecutionOption 物件,New-PSWorkflowExecutionOption
產生做為建立或變更會話組態之 Cmdlet SessionTypeOption 參數的值,例如 Register-PSSessionConfiguration
和 Set-PSSessionConfiguration
Cmdlet。
New-PSWorkflowExecutionOption
Cmdlet 的每個參數都代表 Cmdlet 傳回之工作流程會話組態選項對象的屬性。 如果您省略參數,Cmdlet 會使用 屬性的預設值來建立 物件。
New-PSWorkflowExecutionOption
Cmdlet 是 Windows PowerShell 工作流程功能的一部分。
您也可以將工作流程一般參數新增至此命令。 如需工作流程一般參數的詳細資訊,請參閱 about_WorkflowCommonParameters。
此 Cmdlet 是在 Windows PowerShell 3.0 中引進的。
範例
範例 1:建立工作流程選項物件
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 : http://schemas.microsoft.com/powershell/ITWorkflows
MaxConcurrentCommandsPerShell : 1000
allowedactivity : PSDefaultActivities
UseSharedProcess : false
ProcessIdleTimeoutSec : 0
xmlns : http://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。
類型: | Int32 |
Position: | Named |
預設值: | 60 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-AllowedActivity
指定允許在工作階段中執行的活動。
輸入命名空間限定的活動名稱,例如 Microsoft.PowerShell.HyperV.Activities.*
。
支援通配符。 默認值 PSDefaultActivities包含內建的 Windows Workflow Foundation 活動和代表核心 Windows PowerShell Cmdlet 的活動。
類型: | String[] |
Position: | Named |
預設值: | PSDefaultActivities |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EnableValidation
確認工作流程活動都包含在允許的活動清單中。
預設值為 True。 若要停用驗證,請使用下列命令格式:-EnableValidation:$false
。
類型: | SwitchParameter |
Position: | Named |
預設值: | True |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MaxActivityProcesses
指定可在會話中建立以支援工作流程活動的進程數目上限。 預設值為 5。
類型: | Int32 |
Position: | Named |
預設值: | 5 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MaxConnectedSessions
指定處於作狀態的遠程會話數目上限。 此配額會套用至連線到所有遠端節點的會話(目標計算機)。 預設值為 100。
類型: | Int32 |
Position: | Named |
預設值: | 100 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MaxDisconnectedSessions
指定處於中斷連線狀態的遠程會話數目上限。 此配額會套用至連線到所有遠端節點的會話(目標計算機)。 預設值為 1000。
類型: | Int32 |
Position: | Named |
預設值: | 1000 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MaxPersistenceStoreSizeGB
指定配置給會話中執行之工作流程的持續性存放區大小上限,以 GB 為單位。 超過大小時,會展開持續性存放區以儲存所有保存的數據,但會顯示警告,並將訊息寫入工作流程事件記錄檔。 預設值為 10。
持續性存放區包含所有工作流程作業的數據。 儲存數據的能力可讓作業繼續,而不會遺失狀態。
類型: | Int64 |
Position: | Named |
預設值: | 10 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MaxRunningWorkflows
指定可同時在會話中執行的工作流程數目上限。 預設值為 30。
類型: | Int32 |
Position: | Named |
預設值: | 30 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MaxSessionsPerRemoteNode
指定可連線到每個遠端節點(目標計算機)的會話數目上限。 預設值為 5。
類型: | Int32 |
Position: | Named |
預設值: | 5 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MaxSessionsPerWorkflow
指定可建立以支援每個工作流程的會話數目上限。 預設值為 5。
類型: | Int32 |
Position: | Named |
預設值: | 5 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-OutOfProcessActivity
判斷哪些允許的活動(由 AllowedActivities 參數指定)已用盡進程。 預設值為 InlineScript。
類型: | String[] |
Position: | Named |
預設值: | InlineScript |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-PersistencePath
指定儲存工作流程狀態和數據之磁碟上的位置。 儲存工作流程狀態和數據可讓工作流程暫停和繼續,以及從中斷和網路失敗中復原。
預設值為 $Env:LOCALAPPDATA\Microsoft\Windows\PowerShell\WF\PS
。
類型: | String |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-PersistWithEncryption
表示工作流程會加密持續性存放區中的數據。 將持續性數據儲存在網路共享時,請考慮使用此功能。
類型: | SwitchParameter |
Position: | Named |
預設值: | $Env:LOCALAPPDATA\Microsoft\Windows\PowerShell\WF\PS |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-RemoteNodeSessionIdleTimeoutSec
指定如果連線到遠端節點(目標計算機)的會話閑置的時間長度。
以秒為單位輸入值。 預設值為 60。
類型: | Int32 |
Position: | Named |
預設值: | 60 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SessionThrottleLimit
指定建立多少個作業以支援會話中啟動的所有工作流程。 預設值為 100。
類型: | Int32 |
Position: | Named |
預設值: | 100 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WorkflowShutdownTimeoutMSec
指定會話在會話中的所有工作流程強行暫停之後,維護會話的時間長度。 當逾時到期時,Windows PowerShell 會關閉工作階段,即使所有工作流程尚未暫停也一樣。
以毫秒為單位輸入值。 預設值為 500。
類型: | Int32 |
Position: | Named |
預設值: | 500 |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
None
您無法使用管線將物件傳送至此 Cmdlet。
輸出
備註
超過選項所設定的最大值時,除非在參數描述中指出,否則在會話中建立另一個實例的命令會失敗。 例如,如果 MaxConnectedSessions 的值是 100。 要建立遠端節點的第 101 個工作階段的命令失敗(目標電腦)。
會話組態對象的屬性會隨著會話組態和這些選項的值所設定的選項而有所不同。 此外,使用會話組態檔的會話組態也有其他屬性。
特別是,包含 PSWorkflowExecutionOptions 對象的會話組態屬性會根據工作流程選項值而有所不同。 例如,如果會話組態包含 PSWorkflowExecutionOptions 物件,該物件會設定 SessionThrottleLimit 屬性的非預設值,則會話設定具有 SessionThrottleLimit 屬性。 否則,則不會。