New-PSWorkflowExecutionOption

Skapar ett objekt som innehåller sessionskonfigurationsalternativ för arbetsflödessessioner.

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

Cmdleten New-PSWorkflowExecutionOption skapar ett -objekt som innehåller avancerade alternativ för konfigurationer av arbetsflödessessioner, vilket är sessionskonfigurationer som utformats för att köra Windows PowerShell arbetsflöden.

Du kan använda objektet PSWorkflowExecutionOption som New-PSWorkflowExecutionOption genererar som värdet för parametern SessionTypeOption för cmdletar som skapar eller ändrar en sessionskonfiguration, till exempel Register-PSSessionConfiguration cmdletarna och Set-PSSessionConfiguration .

Varje parameter i cmdleten New-PSWorkflowExecutionOption representerar en egenskap för konfigurationsalternativobjektet för arbetsflödessessionen som cmdleten returnerar. Om du utelämnar en parameter skapar cmdleten objektet med ett standardvärde för egenskapen.

Cmdleten New-PSWorkflowExecutionOption är en del av funktionen Windows PowerShell Workflow.

Du kan också lägga till vanliga parametrar för arbetsflödet i det här kommandot. Mer information om vanliga parametrar för arbetsflöden finns i about_WorkflowCommonParameters.

Denna cmdlet introduceras i Windows PowerShell 3.0.

Exempel

Exempel 1: Skapa ett objekt för arbetsflödesalternativ

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

Det här kommandot använder cmdleten New-PSWorkflowExecutionOption för att öka MaxSessionsPerWorkflow-värdet till 10 och minska värdet MaxDisconnectedSessions till 200.

Utdata visar objektet som cmdleten returnerar.

Exempel 2: Använda ett objekt för arbetsflödesalternativ

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

De två första kommandona skapar ett nytt sessionskonfigurationsobjekt och registrerar det.

Det tredje kommandot använder cmdleten Get-PSSessionConfiguration för att hämta ITWorkflows-sessionskonfigurationen Format-List och för att visa alla egenskaper för sessionskonfigurationen i en lista. Utdata visar att arbetsflödesalternativen i sessionskonfigurationen. Mer specifikt har sessionskonfigurationen en MaxSessionsPerWorkflow-egenskap med värdet 10 och egenskapen MaxDisconnectedSessions med värdet 200.

Parametrar

-ActivityProcessIdleTimeoutSec

Avgör hur länge varje aktivitetsvärdprocess upprätthålls när processen blir inaktiv. När intervallet upphör att gälla stängs processen.

Ange ett värde i sekunder. Standardvärdet är 60.

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

Anger de aktiviteter som tillåts att köras i sessionen.

Ange namnområdeskvalificerade aktivitetsnamn, till exempel Microsoft.Powershell.HyperV.Activities.*. Jokertecken stöds. Standardvärdet PSDefaultActivities innehåller de inbyggda Aktiviteterna i Windows Workflow Foundation och de aktiviteter som representerar kärnan Windows PowerShell cmdletar.

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

Verifierar att alla arbetsflödesaktiviteter i sessionen ingår i listan över tillåtna aktiviteter.

Standardvärdet är True. Om du vill inaktivera validering använder du följande kommandoformat: -EnableValidation:$false.

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

Anger det maximala antalet processer som kan skapas i sessionen för att stödja arbetsflödesaktiviteter. Standardvärdet är 5.

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

Anger det maximala antalet fjärrsessioner som är i drifttillstånd. Den här kvoten tillämpas på sessioner som är anslutna till alla fjärrnoder (måldatorer). Standardvärdet är 100.

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

Anger det maximala antalet fjärrsessioner som är i frånkopplat tillstånd. Den här kvoten tillämpas på sessioner som är anslutna till alla fjärrnoder (måldatorer). Standardvärdet är 1000.

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

Anger den maximala storleken i gigabyte för det beständighetsarkiv som allokerats till arbetsflöden som körs i sessionen. När storleken överskrids expanderas beständighetslagret för att spara alla sparade data, men en varning visas och ett meddelande skrivs till arbetsflödets händelselogg. Standardvärdet är 10.

Beständighetslagret innehåller data för alla arbetsflödesjobb. Möjligheten att lagra data gör att jobben kan återupptas utan att förlora tillstånd.

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

Anger det maximala antalet arbetsflöden som kan köras i sessionen samtidigt. Standardvärdet är 30.

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

Anger det maximala antalet sessioner som kan anslutas till varje fjärrnod (måldator). Standardvärdet är 5.

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

Anger det maximala antalet sessioner som kan skapas för varje arbetsflöde. Standardvärdet är 5.

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

Avgör vilka tillåtna aktiviteter (som anges av parametern AllowedActivities ) som tar slut. Standardvärdet är InlineScript.

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

Anger den plats på disken där arbetsflödestillstånd och data lagras. När arbetsflödets tillstånd och data lagras kan arbetsflöden pausas och återupptas samt återställas från avbrott och nätverksfel.

Standardvärdet är $env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS.

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

Anger att arbetsflödet krypterar data i beständighetslagret. Överväg att använda den här funktionen när du lagrar beständighetsdata i en nätverksresurs.

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

Anger hur länge en session som är ansluten till en fjärrnod (måldator) bibehålls om den är inaktiv.

Ange ett värde i sekunder. Standardvärdet är 60.

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

Anger hur många åtgärder som skapas för att stödja alla arbetsflöden som startats i sessionen. Standardvärdet är 100.

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

Anger hur länge sessionen underhålls efter att alla arbetsflöden i sessionen har inaktiverats med två skäl. När tidsgränsen går ut stänger Windows PowerShell sessionen, även om alla arbetsflöden ännu inte har pausats.

Ange ett värde i millisekunder. Standardvärdet är 500.

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

Indata

None

Du kan inte skicka indata till denna cmdlet.

Utdata

PSWorkflowExecutionOption

Kommentarer

När det högsta värdet som anges av ett alternativ överskrids misslyckas kommandot för att skapa en annan instans i sessionen, såvida det inte anges i parameterbeskrivningen. Om till exempel värdet för MaxConnectedSessions är 100. Kommandot för att skapa den 101:a sessionen till en fjärrnod (måldator) misslyckas.

Egenskaperna för ett sessionskonfigurationsobjekt varierar beroende på vilka alternativ som angetts för sessionskonfigurationen och värdena för dessa alternativ. Dessutom har sessionskonfigurationer som använder en sessionskonfigurationsfil ytterligare egenskaper.

I synnerhet varierar egenskaperna för sessionskonfigurationer som innehåller ett PSWorkflowExecutionOptions-objekt baserat på värdena för arbetsflödesalternativet. Om sessionskonfigurationen till exempel innehåller ett PSWorkflowExecutionOptions-objekt som anger ett icke-standardvärde för egenskapen SessionThrottleLimit , har sessionskonfigurationen egenskapen SessionThrottleLimit . Annars gör det inte det.