Condividi tramite


New-PSWorkflowExecutionOption

Crea un oggetto che contiene le opzioni di configurazione di sessione per le sessioni di flusso di lavoro.

Sintassi

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

Descrizione

Il New-PSWorkflowExecutionOption cmdlet crea un oggetto che contiene opzioni avanzate per le configurazioni di sessione del flusso di lavoro, ovvero configurazioni di sessione progettate per eseguire flussi di lavoro flusso di lavoro di Windows PowerShell.

È possibile utilizzare l'oggetto PSWorkflowExecutionOption che genera come valore del parametro SessionTypeOption dei cmdlet che creano o modificano una configurazione di sessione, ad esempio i Register-PSSessionConfiguration cmdlet e Set-PSSessionConfiguration .New-PSWorkflowExecutionOption

Ogni parametro del New-PSWorkflowExecutionOption cmdlet rappresenta una proprietà dell'oggetto opzione di configurazione della sessione del flusso di lavoro restituito dal cmdlet. Se si omette un parametro, il cmdlet crea l'oggetto con un valore predefinito per la proprietà.

Il New-PSWorkflowExecutionOption cmdlet fa parte della funzionalità Flusso di lavoro di Windows PowerShell.

È anche possibile aggiungere parametri comuni del flusso di lavoro a questo comando. Per altre informazioni sui parametri comuni del flusso di lavoro, vedere about_WorkflowCommonParameters.

Questo cmdlet è stato introdotto in Windows PowerShell 3.0.

Esempio

Esempio 1: Creare un oggetto Opzioni flusso di lavoro

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

Questo comando usa il New-PSWorkflowExecutionOption cmdlet per aumentare il valore MaxSessionsPerWorkflow a 10 e ridurre il valore MaxDisconnectedSessions a 200.

L'output mostra l'oggetto restituito dal cmdlet.

Esempio 2: Utilizzo di un oggetto Opzioni flusso di lavoro

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

I primi due comandi creano un nuovo oggetto di configurazione sessione e lo registra.

Il terzo comando usa il Get-PSSessionConfiguration cmdlet per ottenere la configurazione della sessione ITWorkflows e per Format-List visualizzare tutte le proprietà della configurazione della sessione in un elenco. L'output mostra che le opzioni del flusso di lavoro nella configurazione della sessione. In particolare, la configurazione della sessione ha una proprietà MaxSessionsPerWorkflow con valore 10 e una proprietà MaxDisconnectedSessions con un valore pari a 200.

Parametri

-ActivityProcessIdleTimeoutSec

Determina il tempo di gestione di ogni processo host di attività dopo che il processo diventa inattivo. Alla scadenza dell'intervallo, il processo si chiude.

Immettere un valore in secondi. Il valore predefinito è 60.

Tipo:Int32
Posizione:Named
Valore predefinito:60
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-AllowedActivity

Specifica le attività che possono essere eseguite nella sessione.

Immettere nomi di attività qualificati per lo spazio dei nomi, ad esempio Microsoft.Powershell.HyperV.Activities.*. I carattere jolly sono supportati. Il valore predefinito PSDefaultActivities include le attività predefinite di Windows Workflow Foundation e le attività che rappresentano i cmdlet principali di Windows PowerShell.

Tipo:String[]
Posizione:Named
Valore predefinito:PSDefaultActivities
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-EnableValidation

Verifica che tutte le attività del flusso di lavoro nella sessione siano incluse nell'elenco di attività consentite.

Il valore predefinito è True. Per disabilitare la convalida, usare il formato di comando seguente: -EnableValidation:$false.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:True
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MaxActivityProcesses

Specifica il numero massimo di processi che possono essere creati nella sessione per supportare le attività del flusso di lavoro. Il valore predefinito è 5.

Tipo:Int32
Posizione:Named
Valore predefinito:5
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MaxConnectedSessions

Specifica il numero massimo di sessioni remote che sono in stato operativo. Questa quota viene applicata alle sessioni connesse a tutti i nodi remoti (computer di destinazione). Il valore predefinito è 100.

Tipo:Int32
Posizione:Named
Valore predefinito:100
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MaxDisconnectedSessions

Specifica il numero massimo di sessioni remote che sono in stato disconnesso. Questa quota viene applicata alle sessioni connesse a tutti i nodi remoti (computer di destinazione). Il valore predefinito è 1000.

Tipo:Int32
Posizione:Named
Valore predefinito:1000
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MaxPersistenceStoreSizeGB

Specifica la dimensione massima, in gigabyte, dell'archivio salvataggi permanenti allocata ai flussi di lavoro eseguiti nella sessione. Quando viene superata tale dimensione, l'archivio salvataggi permanenti viene espanso per salvare tutti i dati permanenti, ma viene visualizzato un avviso e viene scritto un messaggio nel registro eventi di flusso di lavoro. Il valore predefinito è 10.

L'archivio salvataggi permanenti contiene dati per tutti i processi di flusso di lavoro. La possibilità di archiviare dati consente di riavviare i processi senza perdere lo stato.

Tipo:Int64
Posizione:Named
Valore predefinito:10
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MaxRunningWorkflows

Specifica il numero massimo di flussi di lavoro che può essere eseguito nella sessione contemporaneamente. Il valore predefinito è 30.

Tipo:Int32
Posizione:Named
Valore predefinito:30
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MaxSessionsPerRemoteNode

Specifica il numero massimo di sessioni che è possibile connettere a ciascun nodo remoto (computer di destinazione). Il valore predefinito è 5.

Tipo:Int32
Posizione:Named
Valore predefinito:5
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-MaxSessionsPerWorkflow

Specifica il numero massimo di sessioni che è possibile creare per supportare ogni flusso di lavoro. Il valore predefinito è 5.

Tipo:Int32
Posizione:Named
Valore predefinito:5
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-OutOfProcessActivity

Determina quali attività consentite (specificate dal parametro AllowedActivities ) vengono eseguite out-of-process. Il valore predefinito è InlineScript.

Tipo:String[]
Posizione:Named
Valore predefinito:InlineScript
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PersistencePath

Specifica il percorso su disco in cui sono archiviati i dati e lo stato del flusso di lavoro. L'archiviazione dello stato del flusso di lavoro e dei dati consente di sospendere e riavviare i flussi di lavoro e di recuperare l'attività dopo le interruzioni e gli errori di rete.

Il valore predefinito è $env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS.

Tipo:String
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-PersistWithEncryption

Indica che il flusso di lavoro crittografa i dati nell'archivio di persistenza. Provare a usare questa funzionalità quando si archiviano i dati di salvataggio permanente in una condivisione di rete.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:$env:LocalAppData\Microsoft\Windows\PowerShell\WF\PS
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-RemoteNodeSessionIdleTimeoutSec

Specifica per quanto tempo verrà mantenuta una sessione che è connessa a un nodo remoto (computer di destinazione) se è inattiva.

Immettere un valore in secondi. Il valore predefinito è 60.

Tipo:Int32
Posizione:Named
Valore predefinito:60
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SessionThrottleLimit

Specifica il numero di operazioni create per supportare tutti i flussi di lavoro avviati nella sessione. Il valore predefinito è 100.

Tipo:Int32
Posizione:Named
Valore predefinito:100
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WorkflowShutdownTimeoutMSec

Specifica la durata di mantenimento della sessione dopo la sospensione forzata di tutti i flussi di lavoro nella sessione. Allo scadere del tempo specificato, Windows PowerShell chiude la sessione, anche se tutti i flussi di lavoro non sono ancora sospesi.

Immettere un valore in millisecondi. Il valore predefinito è 500.

Tipo:Int32
Posizione:Named
Valore predefinito:500
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

None

Non è possibile inviare tramite pipe oggetti a questo cmdlet.

Output

PSWorkflowExecutionOption

Note

Quando viene superato il valore massimo impostato da un'opzione, il comando per creare un'altra istanza nella sessione non riesce, salvo diversamente indicato nella descrizione del parametro; Ad esempio, se il valore di MaxConnectedSessions è 100. Il comando per creare la sessione 101 per un nodo remoto (computer di destinazione) non riesce.

Le proprietà di un oggetto configurazione di sessione variano in base alle opzioni impostate per la configurazione di sessione e ai valori di queste opzioni. Le configurazioni di sessione che usano un file di configurazione della sessione hanno anche proprietà aggiuntive.

In particolare, le proprietà delle configurazioni di sessione che includono un oggetto PSWorkflowExecutionOptions variano in base ai valori delle opzioni del flusso di lavoro. Ad esempio, se la configurazione della sessione include un oggetto PSWorkflowExecutionOptions che imposta un valore non predefinito per la proprietà SessionThrottleLimit, la configurazione della sessione ha una proprietà SessionThrottleLimit. In caso contrario, non viene eseguita questa azione.