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作成します。

セッション構成 (コマンドレットなど) を作成または変更するNew-PSWorkflowExecutionOptionコマンドレットの SessionTypeOption パラメーターの値として生成される PSWorkflowExecutionOption オブジェクトをRegister-PSSessionConfigurationSet-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                   : 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                    :

最初の 2 つのコマンドは、新しいセッション構成オブジェクトを作成して登録します。

3 番目のコマンドでは、コマンドレットを Get-PSSessionConfiguration 使用して ITWorkflows セッション構成を取得し、 Format-List セッション構成のすべてのプロパティを一覧に表示します。出力には、セッション構成のワークフロー オプションが表示されます。 具体的には、セッション構成の MaxSessionsPerWorkflow プロパティの値が 10 に、MaxDisconnectedSessions プロパティの値が 200 になっています。

パラメーター

-ActivityProcessIdleTimeoutSec

各アクティビティのホスト プロセスがアイドル状態になった後にプロセスを維持する期間を決定します。 この期間を過ぎると、プロセスは閉じられます。

値を秒単位で入力します。 既定値は 60 です。

Type:Int32
Position:Named
Default value:60
Accept pipeline input:False
Accept wildcard characters:False
-AllowedActivity

セッションで実行を許可するアクティビティを指定します。

名前空間で修飾されたアクティビティ名を入力します (例 Microsoft.Powershell.HyperV.Activities.*: . ワイルドカード文字がサポートされています。 既定値の PSDefaultActivities には、組み込みの Windows Workflow Foundation アクティビティと、Windows PowerShell コア コマンドレットを表すアクティビティが含まれます。

Type:String[]
Position:Named
Default value:PSDefaultActivities
Accept pipeline input:False
Accept wildcard characters:False
-EnableValidation

許可するアクティビティの一覧にセッション内のすべてのワークフロー アクティビティが含まれていることを確認します。

既定値は True です。 検証を無効にするには、次のコマンド形式を使用します -EnableValidation:$false

Type:SwitchParameter
Position:Named
Default value:True
Accept pipeline input:False
Accept wildcard characters:False
-MaxActivityProcesses

ワークフロー アクティビティをサポートするためにセッションで作成できるプロセスの最大数を指定します。 既定値は 5 です。

Type:Int32
Position:Named
Default value:5
Accept pipeline input:False
Accept wildcard characters:False
-MaxConnectedSessions

操作状態にあるリモート セッションの最大数を指定します。 このクォータは、すべてのリモート ノード (ターゲット コンピューター) に接続されているセッションに適用されます。 既定値は 100 です。

Type:Int32
Position:Named
Default value:100
Accept pipeline input:False
Accept wildcard characters:False
-MaxDisconnectedSessions

切断状態にあるリモート セッションの最大数を指定します。 このクォータは、すべてのリモート ノード (ターゲット コンピューター) に接続されているセッションに適用されます。 既定値は 1000 です。

Type:Int32
Position:Named
Default value:1000
Accept pipeline input:False
Accept wildcard characters:False
-MaxPersistenceStoreSizeGB

セッションで実行するワークフローに割り当てる永続化ストアの最大サイズをギガバイト単位で指定します。 このサイズを超えた場合、永続化されたデータをすべて保存するために永続化ストアが拡張されます。ただし、警告が表示され、ワークフローのイベント ログにメッセージが書き込まれます。 既定値は 10 です。

永続化ストアには、すべてのワークフロー ジョブのデータが格納されています。 データの格納機能により、状態を失うことなくジョブを再開できます。

Type:Int64
Position:Named
Default value:10
Accept pipeline input:False
Accept wildcard characters:False
-MaxRunningWorkflows

セッションで同時に実行できるワークフローの最大数を指定します。 既定値は 30 です。

Type:Int32
Position:Named
Default value:30
Accept pipeline input:False
Accept wildcard characters:False
-MaxSessionsPerRemoteNode

各リモート ノード (ターゲット コンピューター) に接続できるセッションの最大数を指定します。 既定値は 5 です。

Type:Int32
Position:Named
Default value:5
Accept pipeline input:False
Accept wildcard characters:False
-MaxSessionsPerWorkflow

各ワークフローをサポートするために作成できるセッションの最大数を指定します。 既定値は 5 です。

Type:Int32
Position:Named
Default value:5
Accept pipeline input:False
Accept wildcard characters:False
-OutOfProcessActivity

アウト プロセスで実行する (AllowedActivities パラメーターで指定された) 許可されたアクティビティを指定します。 既定値は InlineScript です

Type:String[]
Position:Named
Default value:InlineScript
Accept pipeline input:False
Accept wildcard characters:False
-PersistencePath

ワークフローの状態とデータを格納するディスク上の場所を指定します。 ワークフローの状態とデータを格納することで、ワークフローを中断した後で再開することや、割り込みやネットワークの障害から復旧することができます。

既定値は $env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS です。

Type:String
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-PersistWithEncryption

ワークフローが永続化ストア内のデータを暗号化することを示します。 ネットワーク共有に永続データを格納する場合は、この機能の使用を検討してください。

Type:SwitchParameter
Position:Named
Default value:$env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS
Accept pipeline input:False
Accept wildcard characters:False
-RemoteNodeSessionIdleTimeoutSec

リモート ノード (ターゲット コンピューター) に接続しているアイドル状態のセッションを維持する期間を指定します。

値を秒単位で入力します。 既定値は 60 です。

Type:Int32
Position:Named
Default value:60
Accept pipeline input:False
Accept wildcard characters:False
-SessionThrottleLimit

セッションで開始されたすべてのワークフローをサポートするために作成する操作の数を指定します。 既定値は 100 です。

Type:Int32
Position:Named
Default value:100
Accept pipeline input:False
Accept wildcard characters:False
-WorkflowShutdownTimeoutMSec

セッション内のすべてのワークフローが強制的に中断された後にセッションを維持する期間を指定します。 このタイムアウトを過ぎると、すべてのワークフローがまだ中断されていなくでも、セッションが閉じられます。

値をミリ秒単位で入力します。 既定値は 500 です。

Type:Int32
Position:Named
Default value:500
Accept pipeline input:False
Accept wildcard characters:False

入力

None

パイプを使用してこのコマンドレットに入力を渡すことはできません。

出力

PSWorkflowExecutionOption

メモ

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

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

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