Partager via


New-PSWorkflowExecutionOption

Crée un objet qui contient des options de configuration de session pour les sessions de flux de travail.

Syntaxe

Default (Par défaut)

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 de commande New-PSWorkflowExecutionOption 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.

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

Chaque paramètre de l’applet de commande New-PSWorkflowExecutionOption 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 de commande New-PSWorkflowExecutionOption fait partie de la fonctionnalité Workflow Windows PowerShell.

Vous pouvez également ajouter des paramètres courants de flux de travail à 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 de commande pour augmenter la valeur MaxSessionsPerWorkflow à 10 et réduire la valeur MaxDisconnectedSessions à 200.

La sortie affiche 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 de commande Get-PSSessionConfiguration pour obtenir la configuration de session ITWorkflows et le Format-List pour afficher 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 dont la valeur est 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 conservé une fois le processus inactif. Lorsque l’intervalle expire, le processus se ferme.

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

Propriétés du paramètre

Type:Int32
Valeur par défaut:60
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:PSDefaultActivities
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-EnableValidation

Vérifie que toutes les activités de flux de travail de 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.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:True
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-MaxActivityProcesses

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

Propriétés du paramètre

Type:Int32
Valeur par défaut:5
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-MaxConnectedSessions

Spécifie le nombre maximal de sessions distantes 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.

Propriétés du paramètre

Type:Int32
Valeur par défaut:100
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-MaxDisconnectedSessions

Spécifie le nombre maximal de sessions distantes 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 1 000.

Propriétés du paramètre

Type:Int32
Valeur par défaut:1000
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-MaxPersistenceStoreSizeGB

Spécifie la taille maximale, en gigaoctets, du magasin de persistance alloué aux flux de travail qui s’exécutent dans la session. Lorsque 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 flux de travail. La valeur par défaut est 10.

Le magasin de persistance contient des données pour tous les travaux de flux de travail. La possibilité de stocker des données permet aux travaux de reprendre sans perdre l’état.

Propriétés du paramètre

Type:Int64
Valeur par défaut:10
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-MaxRunningWorkflows

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

Propriétés du paramètre

Type:Int32
Valeur par défaut:30
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:Int32
Valeur par défaut:5
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-MaxSessionsPerWorkflow

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

Propriétés du paramètre

Type:Int32
Valeur par défaut:5
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-OutOfProcessActivity

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

Propriétés du paramètre

Type:

String[]

Valeur par défaut:InlineScript
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-PersistencePath

Spécifie l’emplacement sur le disque où sont stockées l’état et les données du flux de travail. Le stockage de l’état et des données du flux de travail permet aux flux de travail d’être suspendus et repris, et de récupérer des interruptions et des défaillances réseau.

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

Propriétés du paramètre

Type:String
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 des données de persistance dans un partage réseau.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:$Env:LOCALAPPDATA\Microsoft\Windows\PowerShell\WF\PS
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-RemoteNodeSessionIdleTimeoutSec

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

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

Propriétés du paramètre

Type:Int32
Valeur par défaut:60
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-SessionThrottleLimit

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

Propriétés du paramètre

Type:Int32
Valeur par défaut:100
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WorkflowShutdownTimeoutMSec

Spécifie la durée pendant laquelle la session est conservée après que tous les flux de travail de la session soient suspendus de force. Lorsque le délai d’expiration expire, Windows PowerShell ferme la session, même si tous les flux de travail ne sont pas encore suspendus.

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

Propriétés du paramètre

Type:Int32
Valeur par défaut:500
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

None

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

Sorties

PSWorkflowExecutionOption

Notes

Lorsque la valeur maximale définie par une option est dépassée, la commande permettant de créer une autre instance dans la session échoue, sauf indication contraire dans la description du paramètre. Par exemple, si la valeur de MaxConnectedSessions est 100. La commande permettant de créer la 101e 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 session 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 une PSWorkflowExecutionOptions objet 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.