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-PSSessionConfigurationSet-PSSessionConfigurationコマンドレットなど、セッション構成を作成または変更するコマンドレットの SessionTypeOption パラメーターの値として生成New-PSWorkflowExecutionOptionPSWorkflowExecutionOption オブジェクトを使用できます。

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

このコマンドレットにオブジェクトをパイプすることはできません。

出力

PSWorkflowExecutionOption

メモ

オプションによって設定された最大値を超えると、パラメーターの説明に記載されている場合を除き、セッションに別のインスタンスを作成するコマンドは失敗します。 たとえば、 MaxConnectedSessions の値が 100 の場合です。 リモート ノード (ターゲット コンピューター) に 101 個目のセッションを作成するコマンドは失敗します。

セッション構成オブジェクトのプロパティは、セッション構成に設定されているオプションとその値によって異なります。 また、セッション構成ファイルを使用するセッション構成には追加のプロパティがあります。

特に、 PSWorkflowExecutionOptions オブジェクトを含むセッション構成のプロパティは、ワークフロー オプションの値によって異なります。 たとえば、セッション構成に PSWorkflowExecutionOptions SessionThrottleLimit プロパティの既定値以外の値を設定するオブジェクトが含まれている場合、セッション構成には SessionThrottleLimit プロパティがあります。 それ以外の場合は伝播されません。