Dela via


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

Du kan använda PSWorkflowExecutionOption objekt som New-PSWorkflowExecutionOption genererar som värdet för parametern SessionTypeOption för cmdletar som skapar eller ändrar en sessionskonfiguration, till exempel cmdletarna Register-PSSessionConfiguration 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 värdet MaxSessionsPerWorkflow 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 konfigurationen av ITWorkflows-sessionen och Format-List 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 en MaxDisconnectedSessions-egenskap 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.

Typ:Int32
Position:Named
Standardvärde:60
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:String[]
Position:Named
Standardvärde:PSDefaultActivities
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:SwitchParameter
Position:Named
Standardvärde:True
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-MaxActivityProcesses

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

Typ:Int32
Position:Named
Standardvärde:5
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:Int32
Position:Named
Standardvärde:100
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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 1 000.

Typ:Int32
Position:Named
Standardvärde:1000
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:Int64
Position:Named
Standardvärde:10
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-MaxRunningWorkflows

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

Typ:Int32
Position:Named
Standardvärde:30
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-MaxSessionsPerRemoteNode

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

Typ:Int32
Position:Named
Standardvärde:5
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-MaxSessionsPerWorkflow

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

Typ:Int32
Position:Named
Standardvärde:5
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-OutOfProcessActivity

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

Typ:String[]
Position:Named
Standardvärde:InlineScript
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:String
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:SwitchParameter
Position:Named
Standardvärde:$env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:Int32
Position:Named
Standardvärde:60
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:Int32
Position:Named
Standardvärde:100
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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.

Typ:Int32
Position:Named
Standardvärde:500
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken: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 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 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 icke-standardvärde för egenskapen SessionThrottleLimit, har sessionskonfigurationen en egenskap SessionThrottleLimit. Annars gör det inte det.