Freigeben über


New-PSWorkflowExecutionOption

Erstellt ein Objekt, das Sitzungskonfigurationsoptionen für Workflowsitzungen enthält.

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>]

Beschreibung

Das New-PSWorkflowExecutionOption Cmdlet erstellt ein Objekt, das erweiterte Optionen für Workflowsitzungskonfigurationen enthält, d. h. Sitzungskonfigurationen zum Ausführen von Windows PowerShell-Workflowworkflows.

Sie können das PSWorkflowExecutionOption -Objekt verwenden, das New-PSWorkflowExecutionOption als Wert des SessionTypeOption-Parameters von Cmdlets generiert wird, die eine Sitzungskonfiguration erstellen oder ändern, z. B. die und Set-PSSessionConfiguration cmdletsRegister-PSSessionConfiguration.

Jeder Parameter des New-PSWorkflowExecutionOption Cmdlets stellt eine Eigenschaft des Workflowsitzungskonfigurationsoptionsobjekts dar, das das Cmdlet zurückgibt. Wenn Sie einen Parameter weglassen, erstellt das Cmdlet das Objekt mit einem Standardwert für die Eigenschaft.

Das New-PSWorkflowExecutionOption Cmdlet ist Teil des Windows PowerShell-Workflowfeatures.

Sie können diesem Befehl auch allgemeine Workflowparameter hinzufügen. Weitere Informationen zu allgemeinen Workflowparametern finden Sie unter about_WorkflowCommonParameters.

Dieses Cmdlet wird in Windows PowerShell 3.0 eingeführt.

Beispiele

Beispiel 1: Erstellen eines Workflow options-Objekts

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

Dieser Befehl verwendet das New-PSWorkflowExecutionOption Cmdlet, um den MaxSessionsPerWorkflow-Wert auf 10 zu erhöhen und den MaxDisconnectedSessions-Wert auf 200 zu verringern.

Die Ausgabe zeigt das vom Cmdlet zurückgegebene Objekt.

Beispiel 2: Verwenden eines Workflow options-Objekts

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

Die ersten beiden Befehle erstellen ein neues Sitzungskonfigurationsobjekt und registrieren es.

Der dritte Befehl verwendet das Get-PSSessionConfiguration Cmdlet zum Abrufen der ITWorkflows-Sitzungskonfiguration und zum Format-List Anzeigen aller Eigenschaften der Sitzungskonfiguration in einer Liste. Die Ausgabe zeigt, dass die Workflowoptionen in der Sitzungskonfiguration angezeigt werden. Insbesondere verfügt die Sitzungskonfiguration über eine MaxSessionsPerWorkflow-Eigenschaft mit dem Wert 10 und einer MaxDisconnectedSessions-Eigenschaft mit dem Wert 200.

Parameter

-ActivityProcessIdleTimeoutSec

Bestimmt, wie lange jeder Aktivitätshostprozess beibehalten wird, nachdem er in den Leerlauf gewechselt ist. Wenn das Intervall abläuft, wird der Prozess geschlossen.

Geben Sie einen Wert in Sekunden ein. Der Standardwert lautet 60.

Typ:Int32
Position:Named
Standardwert:60
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-AllowedActivity

Gibt die Aktivitäten an, die in der Sitzung ausgeführt werden dürfen.

Geben Sie namespacequalifizierte Aktivitätsnamen ein, z Microsoft.Powershell.HyperV.Activities.*. B. . Platzhalterzeichen werden unterstützt. Der Standardwert PSDefaultActivities umfasst die integrierten Windows Workflow Foundation-Aktivitäten und die Aktivitäten, die die wichtigsten Windows PowerShell-Cmdlets darstellen.

Typ:String[]
Position:Named
Standardwert:PSDefaultActivities
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-EnableValidation

Stellt sicher, dass alle Workflowaktivitäten in der Sitzung in der Liste zulässiger Aktivitäten enthalten sind.

Der Standardwert ist True. Verwenden Sie zum Deaktivieren der Überprüfung das folgende Befehlsformat: -EnableValidation:$false.

Typ:SwitchParameter
Position:Named
Standardwert:True
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MaxActivityProcesses

Gibt die maximale Anzahl von Prozessen an, die in der Sitzung zur Unterstützung von Workflowaktivitäten erstellt werden kann. Der Standardwert ist 5.

Typ:Int32
Position:Named
Standardwert:5
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MaxConnectedSessions

Gibt die maximale Anzahl von Remotesitzungen an, die sich in einem betriebsbereiten Zustand befinden. Dieses Kontingent gilt für Sitzungen, die mit allen Remoteknoten (Zielcomputern) verbunden sind. Der Standardwert ist 100.

Typ:Int32
Position:Named
Standardwert:100
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MaxDisconnectedSessions

Gibt die maximale Anzahl von Remotesitzungen an, die sich in einem getrennten Zustand befinden. Dieses Kontingent gilt für Sitzungen, die mit allen Remoteknoten (Zielcomputern) verbunden sind. Der Standardwert lautet „1000“.

Typ:Int32
Position:Named
Standardwert:1000
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MaxPersistenceStoreSizeGB

Gibt die maximale Größe des Persistenzspeichers, der von in der Sitzung ausgeführten Workflows belegt wird, in GB an. Bei einer Überschreitung der Größe wird der Persistenzspeicher erweitert, um alle persistenten Daten zu speichern. Allerdings wird eine Warnung angezeigt und eine Meldung in das Workflow-Ereignisprotokoll geschrieben. Der Standardwert ist 10.

Der Persistenzspeicher enthält Daten für alle Workflowaufträge. Durch die Möglichkeit, Daten zu speichern, können die Aufträge fortgesetzt werden, ohne ihren Zustand zu verlieren.

Typ:Int64
Position:Named
Standardwert:10
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MaxRunningWorkflows

Gibt die maximale Anzahl von Workflows an, die gleichzeitig in der Sitzung ausgeführt werden können. Der Standardwert ist 30.

Typ:Int32
Position:Named
Standardwert:30
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MaxSessionsPerRemoteNode

Gibt die maximale Anzahl von Sitzungen an, die mit jedem Remoteknoten (Zielcomputer) verbunden sein können. Der Standardwert ist 5.

Typ:Int32
Position:Named
Standardwert:5
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MaxSessionsPerWorkflow

Gibt die maximale Anzahl von Sitzungen an, die zur Unterstützung jedes Workflows erstellt werden können. Der Standardwert ist 5.

Typ:Int32
Position:Named
Standardwert:5
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-OutOfProcessActivity

Bestimmt, welche zulässigen Aktivitäten (angegeben durch den Parameter AllowedActivities ) außerhalb des Prozesses ausgeführt werden. Der Standardwert ist InlineScript.

Typ:String[]
Position:Named
Standardwert:InlineScript
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PersistencePath

Gibt an, wo der Workflowzustand und Workflowdaten auf dem Datenträger gespeichert werden. Durch die Speicherung des Workflowzustands und der Workflowdaten können Workflows angehalten und fortgesetzt und nach Unterbrechungen und Netzwerkfehlern wiederhergestellt werden.

Der Standardwert ist $env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS.

Typ:String
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PersistWithEncryption

Gibt an, dass der Workflow die Daten im Persistenzspeicher verschlüsselt. Sie sollten dieses Feature beim Speichern von Persistenzdaten auf einer Netzwerkfreigabe verwenden.

Typ:SwitchParameter
Position:Named
Standardwert:$env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-RemoteNodeSessionIdleTimeoutSec

Gibt an, wie lange eine mit einem Remoteknoten (Zielcomputer) verbundene Sitzung beibehalten wird, wenn sie sich im Leerlauf befindet.

Geben Sie einen Wert in Sekunden ein. Der Standardwert lautet 60.

Typ:Int32
Position:Named
Standardwert:60
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SessionThrottleLimit

Gibt an, wie viele Vorgänge erstellt werden, um alle in der Sitzung gestarteten Workflows zu unterstützen. Der Standardwert ist 100.

Typ:Int32
Position:Named
Standardwert:100
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WorkflowShutdownTimeoutMSec

Gibt an, wie lange die Sitzung beibehalten wird, nachdem das Anhalten aller Workflows in der Sitzung erzwungen wurde. Nach Ablauf des Timeouts wird die Sitzung selbst dann von Windows PowerShell geschlossen, wenn noch nicht alle Workflows angehalten wurden.

Geben Sie einen Wert in Millisekunden ein. Der Standardwert ist 500.

Typ:Int32
Position:Named
Standardwert:500
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

Ausgaben

PSWorkflowExecutionOption

Hinweise

Wenn der maximale durch eine Option festgelegte Wert überschritten wird, verursacht der Befehl zum Erstellen einer weiteren Instanz in der Sitzung einen Fehler, sofern in der Parameterbeschreibung nichts anderes angegeben ist. Wenn der Wert von MaxConnectedSessions beispielsweise 100 ist. In diesem Fall verursacht der Befehl zum Erstellen der Sitzung Nummer 101 für einen Remoteknoten (Zielcomputer) einen Fehler.

Die Eigenschaften eines Sitzungskonfigurationsobjekts weichen hinsichtlich der für die Sitzungskonfiguration festgelegten Optionen sowie der Werte dieser Optionen ab. Sitzungskonfigurationen, die eine Sitzungskonfigurationsdatei verwenden, haben außerdem zusätzliche Eigenschaften.

Insbesondere variieren die Eigenschaften von Sitzungskonfigurationen, die ein PSWorkflowExecutionOptions-Objekt enthalten, je nach den Workflowoptionswerten. Wenn die Sitzungskonfiguration beispielsweise ein PSWorkflowExecutionOptions-Objekt enthält, das einen nicht standardmäßigen Wert für die SessionThrottleLimit-Eigenschaft festlegt, verfügt die Sitzungskonfiguration über eine SessionThrottleLimit-Eigenschaft . Sonst nicht.