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 ワークフロー ワークフローを実行するように設計されたセッション構成である、ワークフロー セッション構成の詳細オプションを含むオブジェクトを作成します。
Register-PSSessionConfiguration
やSet-PSSessionConfiguration
コマンドレットなど、セッション構成を作成または変更するコマンドレットの SessionTypeOption パラメーターの値として生成New-PSWorkflowExecutionOption
PSWorkflowExecutionOption オブジェクトを使用できます。
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
セッション内のすべてのワークフローが強制的に中断された後にセッションを維持する期間を指定します。 このタイムアウトを過ぎると、すべてのワークフローがまだ中断されていなくでも、セッションが閉じられます。
値をミリ秒単位で入力します。 既定値は 500 です。
型: | Int32 |
配置: | Named |
規定値: | 500 |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
メモ
オプションによって設定された最大値を超えると、パラメーターの説明に記載されている場合を除き、セッションに別のインスタンスを作成するコマンドは失敗します。 たとえば、 MaxConnectedSessions の値が 100 の場合です。 リモート ノード (ターゲット コンピューター) に 101 個目のセッションを作成するコマンドは失敗します。
セッション構成オブジェクトのプロパティは、セッション構成に設定されているオプションとその値によって異なります。 また、セッション構成ファイルを使用するセッション構成には追加のプロパティがあります。
特に、 PSWorkflowExecutionOptions オブジェクトを含むセッション構成のプロパティは、ワークフロー オプションの値によって異なります。 たとえば、セッション構成に PSWorkflowExecutionOptions SessionThrottleLimit プロパティの既定値以外の値を設定するオブジェクトが含まれている場合、セッション構成には SessionThrottleLimit プロパティがあります。 それ以外の場合は伝播されません。
関連リンク
PowerShell