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>]
説明
New-PSWorkflowExecutionOption
コマンドレットは、Windows PowerShell ワークフロー ワークフローを実行するように設計されたセッション構成である、ワークフロー セッション構成の詳細オプションを含むオブジェクトを作成します。
セッション構成を作成または変更するコマンドレットの SessionTypeOption パラメーターの値として生成 New-PSWorkflowExecutionOption
PSWorkflowExecutionOption オブジェクト (Register-PSSessionConfiguration
、Set-PSSessionConfiguration
コマンドレットなど) を使用できます。
New-PSWorkflowExecutionOption
コマンドレットの各パラメーターは、コマンドレットが返すワークフロー セッション構成オプション オブジェクトのプロパティを表します。 パラメーターを省略すると、プロパティの既定値を使用してオブジェクトが作成されます。
New-PSWorkflowExecutionOption
コマンドレットは、Windows PowerShell ワークフロー機能の一部です。
このコマンドにワークフロー共通パラメーターを追加することもできます。 ワークフロー共通パラメーターの詳細については、about_WorkflowCommonParametersを参照してください。
このコマンドレットは、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
コマンドレットを使用して、MaxSessionsPerWorkflow 値を 10 に増やし、MaxDisconnectedSessions 値を 200 に減らします。
出力には、コマンドレットが返すオブジェクトが表示されます。
例 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 :
最初の 2 つのコマンドは、新しいセッション構成オブジェクトを作成し、それを登録します。
3 番目のコマンドでは、Get-PSSessionConfiguration
コマンドレットを使用して ITWorkflows セッション構成を取得し、Format-List
を使用してセッション構成のすべてのプロパティを一覧に表示します。出力には、セッション構成のワークフロー オプションが表示されます。 具体的には、セッション構成には、値が 10 の MaxSessionsPerWorkflow プロパティと、値が 200 の MaxDisconnectedSessions プロパティがあります。
パラメーター
-ActivityProcessIdleTimeoutSec
プロセスがアイドル状態になった後に各アクティビティ ホスト プロセスを維持する期間を決定します。 間隔の有効期限が切れると、プロセスは終了します。
値を秒単位で入力します。 既定値は 60 です。
型: | Int32 |
配置: | Named |
規定値: | 60 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-AllowedActivity
セッションでの実行が許可されるアクティビティを指定します。
Microsoft.PowerShell.HyperV.Activities.*
など、名前空間で修飾されたアクティビティ名を入力します。
ワイルドカード文字がサポートされています。 PSDefaultActivities 既定値には、組み込みの Windows Workflow Foundation アクティビティと、主要な Windows PowerShell コマンドレットを表すアクティビティが含まれます。
型: | String[] |
配置: | Named |
規定値: | PSDefaultActivities |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-EnableValidation
セッション内のすべてのワークフロー アクティビティが許可されるアクティビティの一覧に含まれていることを確認します。
既定値は True です。 検証を無効にするには、次のコマンド形式を使用します: -EnableValidation:$false
。
型: | SwitchParameter |
配置: | Named |
規定値: | True |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaxActivityProcesses
ワークフロー アクティビティをサポートするためにセッションで作成できるプロセスの最大数を指定します。 既定値は 5 です。
型: | Int32 |
配置: | Named |
規定値: | 5 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaxConnectedSessions
操作状態にあるリモート セッションの最大数を指定します。 このクォータは、すべてのリモート ノード (ターゲット コンピューター) に接続されているセッションに適用されます。 既定値は 100 です。
型: | Int32 |
配置: | Named |
規定値: | 100 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaxDisconnectedSessions
切断状態のリモート セッションの最大数を指定します。 このクォータは、すべてのリモート ノード (ターゲット コンピューター) に接続されているセッションに適用されます。 既定値は 1000 です。
型: | Int32 |
配置: | Named |
規定値: | 1000 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaxPersistenceStoreSizeGB
セッションで実行されるワークフローに割り当てられる永続化ストアの最大サイズをギガバイト単位で指定します。 サイズを超えると、永続化ストアが展開され、永続化されたすべてのデータが保存されますが、警告が表示され、メッセージがワークフロー イベント ログに書き込まれます。 既定値は 10 です。
永続化ストアには、すべてのワークフロー ジョブのデータが含まれています。 データを格納する機能により、ジョブは状態を失うことなく再開できます。
型: | Int64 |
配置: | Named |
規定値: | 10 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaxRunningWorkflows
セッションで同時に実行できるワークフローの最大数を指定します。 既定値は 30 です。
型: | Int32 |
配置: | Named |
規定値: | 30 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaxSessionsPerRemoteNode
各リモート ノード (ターゲット コンピューター) に接続できるセッションの最大数を指定します。 既定値は 5 です。
型: | Int32 |
配置: | Named |
規定値: | 5 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaxSessionsPerWorkflow
各ワークフローをサポートするために作成できるセッションの最大数を指定します。 既定値は 5 です。
型: | Int32 |
配置: | Named |
規定値: | 5 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-OutOfProcessActivity
(AllowedActivities パラメーターで指定された) どの許可アクティビティがアウトプロセスで実行するかを決定します。 既定値は InlineScript です。
型: | String[] |
配置: | Named |
規定値: | InlineScript |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PersistencePath
ワークフローの状態とデータが格納されるディスク上の場所を指定します。 ワークフローの状態とデータを格納すると、ワークフローを中断および再開したり、中断やネットワーク障害から復旧したりできます。
既定値は $Env:LOCALAPPDATA\Microsoft\Windows\PowerShell\WF\PS
です。
型: | String |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PersistWithEncryption
ワークフローが永続化ストア内のデータを暗号化することを示します。 永続化データをネットワーク共有に格納する場合は、この機能の使用を検討してください。
型: | SwitchParameter |
配置: | Named |
規定値: | $Env:LOCALAPPDATA\Microsoft\Windows\PowerShell\WF\PS |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-RemoteNodeSessionIdleTimeoutSec
リモート ノード (ターゲット コンピューター) に接続されているセッションがアイドル状態の場合に維持される期間を指定します。
値を秒単位で入力します。 既定値は 60 です。
型: | Int32 |
配置: | Named |
規定値: | 60 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SessionThrottleLimit
セッションで開始されたすべてのワークフローをサポートするために作成される操作の数を指定します。 既定値は 100 です。
型: | Int32 |
配置: | Named |
規定値: | 100 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WorkflowShutdownTimeoutMSec
セッション内のすべてのワークフローが強制的に中断された後にセッションを維持する期間を指定します。 タイムアウトが切れると、すべてのワークフローがまだ中断されていない場合でも、Windows PowerShell はセッションを閉じます。
値をミリ秒単位で入力します。 既定値は 500 です。
型: | Int32 |
配置: | Named |
規定値: | 500 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
メモ
オプションによって設定された最大値を超えると、パラメーターの説明に記載されていない限り、セッションで別のインスタンスを作成するコマンドは失敗します。 たとえば、MaxConnectedSessions の値が 100 の場合です。 リモート ノード (ターゲット コンピューター) への 101 番目のセッションを作成するコマンドが失敗します。
セッション構成オブジェクトのプロパティは、セッション構成に設定されたオプションとそれらのオプションの値によって異なります。 また、セッション構成ファイルを使用するセッション構成には、追加のプロパティがあります。
特に、PSWorkflowExecutionOptions オブジェクトを含むセッション構成のプロパティは、ワークフロー オプションの値によって異なります。 たとえば、セッション構成に、SessionThrottleLimit プロパティの既定値以外の値を設定する PSWorkflowExecutionOptions オブジェクトが含まれている場合、セッション構成には sessionThrottleLimit プロパティ があります。 それ以外の場合は実行されません。