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