Delen via


New-PSWorkflowExecutionOption

Hiermee maakt u een object met sessieconfiguratieopties voor werkstroomsessies.

Syntaxis

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

De New-PSWorkflowExecutionOption cmdlet maakt een object dat geavanceerde opties voor werkstroomsessieconfiguraties bevat. Dit zijn sessieconfiguraties die zijn ontworpen om Windows PowerShell Workflow-werkstromen uit te voeren.

U kunt het PSWorkflowExecutionOption-object dat New-PSWorkflowExecutionOption genereert als de waarde van de parameter SessionTypeOption parameter van cmdlets die een sessieconfiguratie maken of wijzigen, zoals de Register-PSSessionConfiguration en Set-PSSessionConfiguration cmdlets.

Elke parameter van de New-PSWorkflowExecutionOption cmdlet vertegenwoordigt een eigenschap van het optieobject voor werkstroomsessieconfiguratie dat door de cmdlet wordt geretourneerd. Als u een parameter weglaat, maakt de cmdlet het object met een standaardwaarde voor de eigenschap.

De cmdlet New-PSWorkflowExecutionOption maakt deel uit van de Windows PowerShell Workflow-functie.

U kunt ook algemene parameters voor werkstromen toevoegen aan deze opdracht. Zie about_WorkflowCommonParametersvoor meer informatie over algemene parameters voor werkstromen.

Deze cmdlet wordt geïntroduceerd in Windows PowerShell 3.0.

Voorbeelden

Voorbeeld 1: Een werkstroomoptiesobject maken

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

Met deze opdracht wordt de cmdlet New-PSWorkflowExecutionOption gebruikt om de MaxSessionsPerWorkflow-waarde te verhogen tot 10 en de MaxDisconnectedSessions waarde te verlagen tot 200.

De uitvoer toont het object dat door de cmdlet wordt geretourneerd.

Voorbeeld 2: Een werkstroomoptiesobject gebruiken

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

Met de eerste twee opdrachten maakt u een nieuw sessieconfiguratieobject en registreert u het.

De derde opdracht maakt gebruik van de Get-PSSessionConfiguration cmdlet voor het ophalen van de ITWorkflows-sessieconfiguratie en de Format-List om alle eigenschappen van de sessieconfiguratie in een lijst weer te geven. In de uitvoer ziet u dat de werkstroomopties in de sessieconfiguratie. De sessieconfiguratie heeft met name een eigenschap MaxSessionsPerWorkflow met de waarde 10 en een MaxDisconnectedSessions eigenschap met de waarde 200.

Parameters

-ActivityProcessIdleTimeoutSec

Bepaalt hoe lang elk activiteitshostproces wordt onderhouden nadat het proces inactief is. Wanneer het interval verloopt, wordt het proces gesloten.

Voer een waarde in seconden in. De standaardwaarde is 60.

Type:Int32
Position:Named
Default value:60
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-AllowedActivity

Hiermee geeft u de activiteiten op die mogen worden uitgevoerd in de sessie.

Voer namen van naamruimte-gekwalificeerde activiteiten in, zoals Microsoft.Powershell.HyperV.Activities.*. Jokertekens worden ondersteund. De standaardwaarde, PSDefaultActivities, bevat de ingebouwde Windows Workflow Foundation-activiteiten en de activiteiten die de Windows PowerShell Core-cmdlets vertegenwoordigen.

Type:String[]
Position:Named
Default value:PSDefaultActivities
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-EnableValidation

Controleert of alle werkstroomactiviteiten in de sessie zijn opgenomen in de lijst met toegestane activiteiten.

De standaardwaarde is Waar. Gebruik de volgende opdrachtindeling om validatie uit te schakelen: -EnableValidation:$false.

Type:SwitchParameter
Position:Named
Default value:True
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MaxActivityProcesses

Hiermee geeft u het maximum aantal processen op dat in de sessie kan worden gemaakt ter ondersteuning van werkstroomactiviteiten. De standaardwaarde is 5.

Type:Int32
Position:Named
Default value:5
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MaxConnectedSessions

Hiermee geeft u het maximum aantal externe sessies op dat zich in een operationele status bevindt. Dit quotum wordt toegepast op sessies die zijn verbonden met alle externe knooppunten (doelcomputers). De standaardwaarde is 100.

Type:Int32
Position:Named
Default value:100
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MaxDisconnectedSessions

Hiermee geeft u het maximum aantal externe sessies op dat zich in een niet-verbonden status bevindt. Dit quotum wordt toegepast op sessies die zijn verbonden met alle externe knooppunten (doelcomputers). De standaardwaarde is 1000.

Type:Int32
Position:Named
Default value:1000
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MaxPersistenceStoreSizeGB

Hiermee geeft u de maximale grootte, in gigabytes, van het persistentiearchief dat is toegewezen aan werkstromen die in de sessie worden uitgevoerd. Wanneer de grootte wordt overschreden, wordt het persistentiearchief uitgebreid om alle persistente gegevens op te slaan, maar er wordt een waarschuwing weergegeven en wordt er een bericht naar het gebeurtenislogboek van de werkstroom geschreven. De standaardwaarde is 10.

Het persistentiearchief bevat gegevens voor alle werkstroomtaken. Door de mogelijkheid om gegevens op te slaan, kunnen de taken worden hervat zonder de status te verliezen.

Type:Int64
Position:Named
Default value:10
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MaxRunningWorkflows

Hiermee geeft u op dat het maximum aantal werkstromen dat gelijktijdig in de sessie kan worden uitgevoerd. De standaardwaarde is 30.

Type:Int32
Position:Named
Default value:30
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MaxSessionsPerRemoteNode

Hiermee geeft u het maximum aantal sessies op dat kan worden verbonden met elk extern knooppunt (doelcomputer). De standaardwaarde is 5.

Type:Int32
Position:Named
Default value:5
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-MaxSessionsPerWorkflow

Hiermee geeft u het maximum aantal sessies op dat kan worden gemaakt ter ondersteuning van elke werkstroom. De standaardwaarde is 5.

Type:Int32
Position:Named
Default value:5
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-OutOfProcessActivity

Bepaalt welke toegestane activiteiten (opgegeven door de parameter AllowedActivities) niet meer zijn verwerkt. De standaardwaarde is InlineScript-.

Type:String[]
Position:Named
Default value:InlineScript
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-PersistencePath

Hiermee geeft u de locatie op schijf waar de werkstroomstatus en gegevens worden opgeslagen. Door de werkstroomstatus en -gegevens op te slaan, kunnen werkstromen worden onderbroken en hervat en kunnen ze worden hersteld na onderbrekingen en netwerkfouten.

De standaardwaarde is $env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS.

Type:String
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-PersistWithEncryption

Geeft aan dat de werkstroom de gegevens in het persistentiearchief versleutelt. Overweeg deze functie te gebruiken bij het opslaan van persistentiegegevens in een netwerkshare.

Type:SwitchParameter
Position:Named
Default value:$env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-RemoteNodeSessionIdleTimeoutSec

Hiermee geeft u op hoe lang een sessie die is verbonden met een extern knooppunt (doelcomputer) wordt onderhouden als deze niet actief is.

Voer een waarde in seconden in. De standaardwaarde is 60.

Type:Int32
Position:Named
Default value:60
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-SessionThrottleLimit

Hiermee geeft u op hoeveel bewerkingen worden gemaakt ter ondersteuning van alle werkstromen die in de sessie zijn gestart. De standaardwaarde is 100.

Type:Int32
Position:Named
Default value:100
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-WorkflowShutdownTimeoutMSec

Hiermee geeft u op hoe lang de sessie wordt onderhouden nadat alle werkstromen in de sessie geforceerd zijn onderbroken. Wanneer de time-out verloopt, sluit Windows PowerShell de sessie, zelfs als alle werkstromen nog niet zijn onderbroken.

Voer een waarde in milliseconden in. De standaardwaarde is 500.

Type:Int32
Position:Named
Default value:500
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

None

U kunt invoer voor deze cmdlet niet doorsluisen.

Uitvoerwaarden

PSWorkflowExecutionOption

Notities

Wanneer de maximumwaarde die door een optie is ingesteld, wordt overschreden, mislukt de opdracht om een ander exemplaar in de sessie te maken, tenzij vermeld in de parameterbeschrijving. Als de waarde van MaxConnectedSessions bijvoorbeeld 100 is. De opdracht voor het maken van de 101e sessie naar een extern knooppunt (doelcomputer) mislukt.

De eigenschappen van een sessieconfiguratieobject variëren met de opties die zijn ingesteld voor de sessieconfiguratie en de waarden van deze opties. Daarnaast hebben sessieconfiguraties die gebruikmaken van een sessieconfiguratiebestand aanvullende eigenschappen.

Met name de eigenschappen van sessieconfiguraties met een PSWorkflowExecutionOptions object variëren op basis van de waarden van de werkstroomoptie. Als de sessieconfiguratie bijvoorbeeld een PSWorkflowExecutionOptions object bevat waarmee een niet-standaardwaarde wordt ingesteld voor de eigenschap SessionThrottleLimit, heeft de sessieconfiguratie een eigenschap SessionThrottleLimit. Anders niet.