Partager via


New-PSWorkflowExecutionOption

Crée un objet qui contient les options de configuration de session pour les sessions de workflow.

Syntaxe

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

L’applet New-PSWorkflowExecutionOption de commande crée un objet qui contient des options avancées pour les configurations de session de flux de travail, c’est-à-dire des configurations de session conçues pour exécuter des flux de travail Windows PowerShell Workflow.

Vous pouvez utiliser l’objet PSWorkflowExecutionOption qui New-PSWorkflowExecutionOption génère la valeur du paramètre SessionTypeOption des applets de commande qui créent ou modifient une configuration de session, comme les Register-PSSessionConfiguration applets de commande et Set-PSSessionConfiguration les applets de commande.

Chaque paramètre de l’applet New-PSWorkflowExecutionOption de commande représente une propriété de l’objet d’option de configuration de session de workflow retourné par l’applet de commande. Si vous omettez un paramètre, l'applet de commande crée l'objet avec une valeur par défaut pour la propriété.

L’applet New-PSWorkflowExecutionOption de commande fait partie de la fonctionnalité Workflow Windows PowerShell.

Vous pouvez également ajouter des paramètres communs de workflow à cette commande. Pour plus d’informations sur les paramètres courants de flux de travail, consultez about_WorkflowCommonParameters.

Cette applet de commande est introduite dans Windows PowerShell 3.0.

Exemples

Exemple 1 : Créer un objet Options de flux de travail

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

Cette commande utilise l’applet New-PSWorkflowExecutionOption de commande pour augmenter la valeur MaxSessionsPerWorkflow à 10 et réduire la valeur MaxDisconnectedSessions à 200.

La sortie illustre l'objet retourné par l'applet de commande.

Exemple 2 : Utilisation d’un objet Options de flux de travail

# 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                    :

Les deux premières commandes créent un objet de configuration de session et l’inscrivent.

La troisième commande utilise l’applet Get-PSSessionConfiguration de commande pour obtenir la configuration de session ITWorkflows et afficher Format-List toutes les propriétés de la configuration de session dans une liste. La sortie indique que les options de flux de travail dans la configuration de session. Plus précisément, la configuration de session a une propriété MaxSessionsPerWorkflow avec la valeur 10 et une propriété MaxDisconnectedSessions avec la valeur 200.

Paramètres

-ActivityProcessIdleTimeoutSec

Détermine la durée pendant laquelle chaque processus hôte d'activité est maintenu une fois que le processus est devenu inactif. Quand le délai expire, le processus se ferme.

Entrez une valeur en secondes. La valeur par défaut est 60.

Type:Int32
Position:Named
Valeur par défaut:60
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-AllowedActivity

Spécifie les activités autorisées à s'exécuter dans la session.

Entrez les noms d’activité qualifiés par l’espace de noms, tels que Microsoft.Powershell.HyperV.Activities.*. Les caractères génériques sont pris en charge. La valeur par défaut, PSDefaultActivities, inclut les activités Windows Workflow Foundation intégrées et les activités qui représentent les applets de commande Windows PowerShell principales.

Type:String[]
Position:Named
Valeur par défaut:PSDefaultActivities
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-EnableValidation

Vérifie que toutes les activités de workflow dans la session sont incluses dans la liste des activités autorisées.

La valeur par défaut est True. Pour désactiver la validation, utilisez le format de commande suivant : -EnableValidation:$false.

Type:SwitchParameter
Position:Named
Valeur par défaut:True
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MaxActivityProcesses

Spécifie le nombre maximal de processus qui peuvent être créés dans la session pour prendre en charge des activités de workflow. La valeur par défaut est 5.

Type:Int32
Position:Named
Valeur par défaut:5
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MaxConnectedSessions

Spécifie le nombre maximal de sessions à distance qui sont dans un état opérationnel. Ce quota est appliqué aux sessions connectées à tous les nœuds distants (ordinateurs cibles). La valeur par défaut est 100.

Type:Int32
Position:Named
Valeur par défaut:100
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MaxDisconnectedSessions

Spécifie le nombre maximal de sessions à distance qui sont dans un état déconnecté. Ce quota est appliqué aux sessions connectées à tous les nœuds distants (ordinateurs cibles). La valeur par défaut est 1000.

Type:Int32
Position:Named
Valeur par défaut:1000
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MaxPersistenceStoreSizeGB

Spécifie la taille maximale, en gigaoctets, du magasin de persistance alloué aux workflows exécutés dans la session. Quand la taille est dépassée, le magasin de persistance est développé pour enregistrer toutes les données persistantes, mais un avertissement s'affiche et un message est écrit dans le journal des événements du workflow. La valeur par défaut est 10.

Le magasin de persistance contient des données pour toutes les tâches de workflow. La possibilité de stocker des données permet la reprise des tâches sans perte d'état.

Type:Int64
Position:Named
Valeur par défaut:10
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MaxRunningWorkflows

Spécifie le nombre maximal de workflows qui peuvent s'exécuter simultanément dans la session. La valeur par défaut est 30.

Type:Int32
Position:Named
Valeur par défaut:30
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MaxSessionsPerRemoteNode

Spécifie le nombre maximal de sessions qui peuvent être connectées à chaque nœud distant (ordinateur cible). La valeur par défaut est 5.

Type:Int32
Position:Named
Valeur par défaut:5
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-MaxSessionsPerWorkflow

Spécifie le nombre maximal de sessions qui peuvent être créées pour prendre en charge chaque workflow. La valeur par défaut est 5.

Type:Int32
Position:Named
Valeur par défaut:5
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-OutOfProcessActivity

Détermine les activités autorisées (spécifiées par le paramètre AllowedActivities ) qui s’exécutent hors processus. La valeur par défaut est InlineScript.

Type:String[]
Position:Named
Valeur par défaut:InlineScript
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PersistencePath

Spécifie l'emplacement sur le disque où sont stockés l'état et les données de workflow. Le stockage de l'état et des données de workflow permet la suspension et la reprise des workflows, et une récupération suite à des interruptions et des défaillances du réseau.

La valeur par défaut est $env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS.

Type:String
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PersistWithEncryption

Indique que le flux de travail chiffre les données dans le magasin de persistance. Envisagez d'utiliser cette fonctionnalité lors du stockage de données de persistance dans un partage réseau.

Type:SwitchParameter
Position:Named
Valeur par défaut:$env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-RemoteNodeSessionIdleTimeoutSec

Spécifie la durée pendant laquelle une session qui est connectée à un nœud distant (ordinateur cible) est maintenue si elle est inactive.

Entrez une valeur en secondes. La valeur par défaut est 60.

Type:Int32
Position:Named
Valeur par défaut:60
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-SessionThrottleLimit

Spécifie le nombre d'opérations créées pour prendre en charge tous les workflows démarrés dans la session. La valeur par défaut est 100.

Type:Int32
Position:Named
Valeur par défaut:100
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WorkflowShutdownTimeoutMSec

Spécifie la durée pendant laquelle la session est maintenue une fois que tous les workflows dans la session sont suspendus de force. Quand le délai arrive à expiration, Windows PowerShell ferme la session, même si tous les workflows ne sont pas encore suspendus.

Entrez une valeur en millisecondes. La valeur par défaut est 500.

Type:Int32
Position:Named
Valeur par défaut:500
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

PSWorkflowExecutionOption

Notes

Quand la valeur maximale définie par une option est dépassée, la commande pour créer une autre instance dans la session échoue, sauf indication dans la description du paramètre. Par exemple, si la valeur de MaxConnectedSessions est 100. la commande pour créer la 101è session sur un nœud distant (ordinateur cible) échoue.

Les propriétés d'un objet de configuration de session varient selon les options définies pour la configuration de session et les valeurs de ces options. En outre, les configurations de sessions qui utilisent un fichier de configuration de session ont des propriétés supplémentaires.

En particulier, les propriétés des configurations de session qui incluent un objet PSWorkflowExecutionOptions varient en fonction des valeurs d’option de flux de travail. Par exemple, si la configuration de session inclut un objet PSWorkflowExecutionOptions qui définit une valeur non par défaut pour la propriété SessionThrottleLimit, la configuration de session a une propriété SessionThrottleLimit. Sinon, ce n’est pas le cas.