New-PSWorkflowExecutionOption

Crea un objeto que contiene las opciones de configuración de sesión para sesiones de flujo de trabajo.

Syntax

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

El New-PSWorkflowExecutionOption cmdlet crea un objeto que contiene opciones avanzadas para las configuraciones de sesión de flujo de trabajo, es decir, configuraciones de sesión diseñadas para ejecutar flujos de trabajo de flujo de trabajo de Windows PowerShell.

Puede usar el objeto PSWorkflowExecutionOption que New-PSWorkflowExecutionOption genera como valor del parámetro SessionTypeOption de cmdlets que crean o cambian una configuración de sesión, como los Register-PSSessionConfiguration cmdlets y Set-PSSessionConfiguration .

Cada parámetro del New-PSWorkflowExecutionOption cmdlet representa una propiedad del objeto de opción de configuración de sesión de flujo de trabajo que devuelve el cmdlet. Si se omite un parámetro, el cmdlet crea el objeto con un valor predeterminado para la propiedad.

El New-PSWorkflowExecutionOption cmdlet forma parte de la característica flujo de trabajo de Windows PowerShell.

También puede agregar parámetros comunes de flujo de trabajo a este comando. Para obtener más información sobre los parámetros comunes del flujo de trabajo, consulte about_WorkflowCommonParameters.

Este cmdlet se incorporó en Windows PowerShell 3.0.

Ejemplos

Ejemplo 1: Crear un objeto de opciones de flujo de trabajo

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

Este comando usa el New-PSWorkflowExecutionOption cmdlet para aumentar el valor MaxSessionsPerWorkflow a 10 y reducir el valor MaxDisconnectedSessions a 200.

Los resultados muestran el objeto que devuelve el cmdlet.

Ejemplo 2: Usar un objeto De opciones de flujo de trabajo

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

Los dos primeros comandos crean un nuevo objeto de configuración de sesión y lo registran.

El tercer comando usa el Get-PSSessionConfiguration cmdlet para obtener la configuración de sesión de ITWorkflows y Format-List para mostrar todas las propiedades de la configuración de sesión en una lista. La salida muestra que las opciones de flujo de trabajo en la configuración de sesión. En concreto, la configuración de sesión tiene una propiedad MaxSessionsPerWorkflow con un valor de 10 y una propiedad MaxDisconnectedSessions con un valor de 200.

Parámetros

-ActivityProcessIdleTimeoutSec

Determina cuánto tiempo se mantiene cada proceso de host de cada actividad una vez que el proceso pasa a estar inactivo. Cuando el intervalo expira, el proceso se cierra.

Especifique un valor en segundos. El valor predeterminado es 60.

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

-AllowedActivity

Especifica las actividades que se pueden ejecutar en la sesión.

Escriba nombres de actividad calificados para espacios de nombres, como Microsoft.Powershell.HyperV.Activities.*. Se admite el uso de caracteres comodín. El valor predeterminado, PSDefaultActivities, incluye las actividades integradas de Windows Workflow Foundation y las actividades que representan los cmdlets principales de Windows PowerShell.

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

-EnableValidation

Comprueba que todas las actividades de flujo de trabajo de la sesión estén incluidas en la lista de actividades permitidas.

El valor predeterminado es True. Para deshabilitar la validación, use el siguiente formato de comando: -EnableValidation:$false.

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

-MaxActivityProcesses

Especifica el número máximo de procesos que se pueden crear en la sesión para admitir actividades de flujo de trabajo. El valor predeterminado es 5.

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

-MaxConnectedSessions

Especifica el número máximo de sesiones remotas que se encuentran en un estado operativo. Esta cuota se aplica a las sesiones conectadas a todos los nodos remotos (equipos de destino). El valor predeterminado es 100.

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

-MaxDisconnectedSessions

Especifica el número máximo de sesiones remotas que se encuentran en estado desconectado. Esta cuota se aplica a las sesiones conectadas a todos los nodos remotos (equipos de destino). El valor predeterminado es 1000.

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

-MaxPersistenceStoreSizeGB

Especifica el tamaño máximo en gigabytes del almacén de persistencia asignado a los flujos de trabajo que se ejecutan en la sesión. Cuando se supera el tamaño, se expande el almacén de persistencia para guardar todos los datos persistentes, pero se muestra una advertencia y se escribe un mensaje en el registro de eventos de flujo de trabajo. El valor predeterminado es 10.

El almacén de persistencia contiene datos de todos los trabajos de flujo de trabajo. La capacidad de almacenar datos permite la reanudación de trabajos sin que se pierda su estado.

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

-MaxRunningWorkflows

Especifica el número máximo de flujos de trabajo que se pueden ejecutar en la sesión al mismo tiempo. El valor predeterminado es 30.

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

-MaxSessionsPerRemoteNode

Especifica el número máximo de sesiones que pueden conectarse a cada nodo remoto (equipo de destino). El valor predeterminado es 5.

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

-MaxSessionsPerWorkflow

Especifica el número máximo de sesiones que se pueden crear para admitir cada flujo de trabajo. El valor predeterminado es 5.

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

-OutOfProcessActivity

Determina qué actividades permitidas (especificadas por el parámetro AllowedActivities ) se ejecutan fuera de proceso. El valor predeterminado es InlineScript.

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

-PersistencePath

Especifica la ubicación en el disco en la que se almacenan los datos y el estado de flujo de trabajo. Almacenar los datos y el estado del flujo de trabajo permite suspender y reanudar los flujos de trabajo, así como recuperarlos en caso de interrupciones y errores de red.

El valor predeterminado es $env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS.

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

-PersistWithEncryption

Indica que el flujo de trabajo cifra los datos en el almacén de persistencia. Considere el uso de esta función al almacenar datos de persistencia en un recurso compartido de red.

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

-RemoteNodeSessionIdleTimeoutSec

Especifica cuánto tiempo se mantiene una sesión que está conectada a un nodo remoto (equipo de destino) si está inactiva.

Especifique un valor en segundos. El valor predeterminado es 60.

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

-SessionThrottleLimit

Especifica cuántas operaciones se crean para admitir todos los flujos de trabajo iniciados en la sesión. El valor predeterminado es 100.

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

-WorkflowShutdownTimeoutMSec

Especifica cuánto tiempo se mantiene la sesión después de que todos los flujos de trabajo de la sesión se hayan suspendido de manera forzada. Cuando se supera el tiempo de espera, Windows PowerShell cierra la sesión aunque no se hayan suspendido todavía todos los flujos de trabajo.

Escriba un valor en milisegundos. El valor predeterminado es 500.

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

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

PSWorkflowExecutionOption

Notas

Cuando se supera el valor máximo establecido por una opción, el comando para crear otra instancia en la sesión genera un error, a menos que se indique en la descripción del parámetro. Por ejemplo, si el valor de Max Conectar edSessions es 100. El comando para crear la sesión n. º 101 en un nodo remoto (equipo de destino) genera un error.

Las propiedades de un objeto de configuración de sesión varían según las opciones establecidas para la configuración de sesión y los valores de esas opciones. Además, las configuraciones de sesión que utilizan un archivo de configuración de sesión tienen propiedades adicionales.

En concreto, las propiedades de las configuraciones de sesión que incluyen un objeto PSWorkflowExecutionOptions varían en función de los valores de la opción de flujo de trabajo. Por ejemplo, si la configuración de sesión incluye un objeto PSWorkflowExecutionOptions que establece un valor no predeterminado para la propiedad SessionThrottleLimit, la configuración de sesión tiene una propiedad SessionThrottleLimit. De lo contrario, no lo está.