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, dvs. sessionskonfigurationer som är utformade för att köra arbetsflöden för Windows PowerShell-arbetsflöden.

Du kan använda objektet PSWorkflowExecutionOption som New-PSWorkflowExecutionOption genererar som värde 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 windows PowerShell-arbetsflödesfunktionen.

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.

Den här cmdleten 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 det objekt 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 underhå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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowedActivity

Anger de aktiviteter som tillåts 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 de grundläggande Windows PowerShell-cmdletarna.

Type:String[]
Position:Named
Default value:PSDefaultActivities
Required:False
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 Sant. Om du vill inaktivera validering använder du följande kommandoformat: -EnableValidation:$false.

Type:SwitchParameter
Position:Named
Default value:True
Required:False
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
Required:False
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
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxPersistenceStoreSizeGB

Anger den maximala storleken i gigabyte för det beständighetslager 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
Required:False
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
Required:False
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
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OutOfProcessActivity

Avgör vilka tillåtna aktiviteter (som anges av parametern AllowedActivities ) som körs ut ur processen. Standardvärdet är InlineScript.

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

-PersistencePath

Anger den plats på disken där arbetsflödestillstånd och data lagras. Genom att lagra arbetsflödets tillstånd och data kan arbetsflöden pausas och återupptas och å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
Required: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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemoteNodeSessionIdleTimeoutSec

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

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

Type:Int32
Position:Named
Default value:60
Required:False
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 startas i sessionen. Standardvärdet är 100.

Type:Int32
Position:Named
Default value:100
Required:False
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 upphör att gälla 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

None

Du kan inte skicka objekt till den här cmdleten.

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, om det inte anges i parameterbeskrivningen. Om till exempel värdet för Max Anslut edSessions är 100. Kommandot för att skapa den 101:a sessionen till en fjärrnod (måldator) misslyckas.

Egenskaperna för ett sessionskonfigurationsobjekt varierar med de alternativ som angetts för sessionskonfigurationen och värdena för dessa alternativ. Sessionskonfigurationer som använder en sessionskonfigurationsfil har dessutom ytterligare egenskaper.

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