about_WorkflowCommonParameters

DESCRIZIONE BREVE

In questo argomento vengono descritti i parametri validi in tutti i comandi del flusso di lavoro di Windows PowerShell. Poiché il motore di Windows PowerShell li aggiunge ai flussi di lavoro, è possibile usare questi parametri in qualsiasi flusso di lavoro e vengono abilitati automaticamente nei flussi di lavoro creati.

DESCRIZIONE LUNGA

I parametri comuni del flusso di lavoro di Windows PowerShell sono un set di parametri di cmdlet che è possibile usare con tutti i flussi di lavoro e le attività di Windows PowerShell. Vengono aggiunti dal motore del flusso di lavoro di Windows PowerShell, non dall'autore del flusso di lavoro e sono automaticamente disponibili nei flussi di lavoro e nelle attività. Tuttavia, i flussi di lavoro annidati con tre livelli profondi non supportano parametri comuni, inclusi i parametri comuni del flusso di lavoro.

Tutti i parametri del flusso di lavoro sono facoltativi e denominati (non posizionali). Non accettano input dalla pipeline.

La maggior parte dei parametri comuni del flusso di lavoro ha un PS prefisso, ad esempio PSComputerName e PSCredential. I parametri con prefisso PS configurano la connessione e l'ambiente di esecuzione per i computer di destinazione, noti anche come "nodi remoti".

Molti dei parametri comuni del flusso di lavoro, ad esempio PSAllowRedirection e AsJob, hanno nomi simili ai parametri usati nei processi remoti e in background di Windows PowerShell. Questi parametri funzionano nello stesso modo dei parametri di comunicazione remota e processo denominati in modo analogo, in modo da poter usare le conoscenze sviluppate in comunicazione remota e processi per gestire i flussi di lavoro.

I flussi di lavoro vengono introdotti in Windows PowerShell 3.0.

DESCRIZIONI DEI PARAMETRI

In questa sezione vengono descritti i parametri comuni del flusso di lavoro.

-AsJob <SwitchParameter>

Esegue il flusso di lavoro come processo del flusso di lavoro. Il comando flusso di lavoro restituisce immediatamente un oggetto che rappresenta un processo padre. Il processo padre contiene i processi figlio in esecuzione in ognuno dei computer di destinazione. Per gestire il processo, utilizzare i cmdlet Job. Per ottenere i risultati del processo, usare Receive-Job.

-JobName <String>

Specifica un nome descrittivo per il processo del flusso di lavoro. Per impostazione predefinita, i processi sono denominati Job<n>, dove <n> è un numero ordinale.

Se si usa il parametro JobName in un comando del flusso di lavoro, il flusso di lavoro viene eseguito come processo e il comando del flusso di lavoro restituisce un oggetto processo, anche se non si include il parametro AsJob nel comando .

Per altre informazioni sui processi in background di Windows PowerShell, vedere about_Jobs.

-PSAllowRedirection <SwitchParameter>

Consente il reindirizzamento della connessione ai computer di destinazione.

Quando si usa il parametro PSConnectionURI , la destinazione remota può restituire un'istruzione per reindirizzare a un URI diverso. Per impostazione predefinita, Windows PowerShell non reindirizza le connessioni, ma è possibile usare il parametro PSAllowRedirection per consentire il reindirizzamento della connessione al computer di destinazione.

È anche possibile limitare il numero di reindirizzamenti della connessione impostando la proprietà MaximumConnectionRedirectionCount della $PSSessionOption variabile preferenza oppure la proprietà MaximumConnectionRedirectionCount del valore del parametro PSSessionOption . Il valore predefinito è 5. Per altre informazioni, vedere la descrizione del parametro PSSessionOption e New-PSSessionOption.

-PSApplicationName <String>

Specifica il segmento del nome dell'applicazione dell'URI di connessione utilizzato per connettersi ai computer di destinazione. Usare questo parametro per specificare il nome dell'applicazione quando non si usa il parametro ConnectionURI nel comando .

Il valore predefinito è il valore della variabile di $PSSessionApplicationName preferenza nel computer locale. Se questa variabile di preferenza non è definita, il valore predefinito è WSMAN. Questo valore è appropriato per la maggior parte degli utilizzi. Per altre informazioni, vedere about_Preference_Variables.

Il servizio Gestione remota Windows usa il nome dell'applicazione per selezionare un listener per soddisfare la richiesta di connessione. Il valore di questo parametro deve corrispondere al valore della proprietà URLPrefix di un listener nel computer remoto.

-PSAuthentication <AuthenticationMechanism>

Specifica il meccanismo utilizzato per autenticare le credenziali dell'utente durante la connessione ai computer di destinazione.

I valori validi sono:

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

Il valore predefinito è Default.

Per informazioni sui valori di questo parametro, vedere la descrizione dell'enumerazione System.Management.Automation.Runspaces.AuthenticationMechanism in PowerShell SDK.

Avviso

L'autenticazione credSSP (Credential Security Service Provider), in cui le credenziali dell'utente vengono passate a un computer remoto da autenticare, è progettato per i comandi che richiedono l'autenticazione in più di una risorsa, ad esempio l'accesso a una condivisione di rete remota. Questo meccanismo aumenta il rischio per la sicurezza dell'operazione remota. Se infatti il computer remoto viene compromesso, le credenziali che gli vengono passate possono essere usate per controllare la sessione di rete.

-PSAuthenticationLevel <AuthenticationLevel>

Specifica il livello di autenticazione per le connessioni ai computer di destinazione. Il valore predefinito è Default.

I valori validi sono:

Nome Descrizione
Unchanged Il livello di autenticazione è uguale al comando precedente.
Default Autenticazione di Windows.
None Nessuna autenticazione COM.
Connect Autenticazione COM a livello di connessione.
Call Autenticazione COM a livello di chiamata.
Packet Autenticazione COM a livello di pacchetto.
PacketIntegrity Autenticazione COM a livello di integrità dei pacchetti.
PacketPrivacy Autenticazione COM a livello di privacy dei pacchetti.

-PSCertificateThumbprint <String>

Specifica il certificato di chiave pubblica digitale (X509) di un account utente con autorizzazione per l'esecuzione di questa azione. Immettere l'identificazione personale del certificato.

I certificati vengono usati nell'autenticazione basata sui certificati client. Possono essere mappati solo in account utente locali. Non funzionano negli account di dominio.

Per ottenere un certificato, usare i cmdlet Get-Item o Get-ChildItem nell'unità di Windows PowerShell Cert: .

-PSComputerName <String[]>

Specifica l'elenco di computer che sono i nodi di destinazione del flusso di lavoro. I comandi o le attività in un flusso di lavoro vengono eseguiti nei computer specificati usando questo parametro. Il valore predefinito è il computer locale.

Digitare il nome NETBIOS, un indirizzo IP o un nome di dominio completo di uno o più computer in un elenco delimitato da virgole. Per specificare il computer locale, digitare il nome del computer, localhosto un punto (.).

Per includere il computer locale nel valore del parametro PSComputerName, aprire Windows PowerShell con l'opzione Esegui come amministratore.

Se questo parametro viene omesso dal comando o se il valore è $null o una stringa vuota, la destinazione del flusso di lavoro è il computer locale e la comunicazione remota di Windows PowerShell non viene usata per eseguire il comando.

Per usare un indirizzo IP nel valore del parametro ComputerName , il comando deve includere il parametro PSCredential . Inoltre, il computer deve essere configurato per il trasporto HTTPS o l'indirizzo IP del computer remoto deve essere incluso nell'elenco TrustedHosts di Gestione remota Windows nel computer locale. Per istruzioni sull'aggiunta di un nome computer all'elenco TrustedHosts, vedere "Come aggiungere un computer all'elenco host attendibile" in about_Remote_Troubleshooting.

-PSConfigurationName <String>

Specifica le configurazioni di sessione utilizzate per configurare le sessioni nei computer di destinazione. Immettere una configurazione di sessione nei computer di destinazione (non nel computer server del flusso di lavoro). Il valore predefinito è Microsoft.PowerShell.Workflow.

-PSConnectionRetryCount <UInt>

Specifica il numero massimo di tentativi di connessione a ogni computer di destinazione se il primo tentativo di connessione ha esito negativo. Immettere un numero compreso tra 1 e 4.294.967.295 (UInt.MaxValue). Il valore predefinito, zero (0), non rappresenta alcun tentativo.

-PSConnectionRetryIntervalSec UInt <>

Specifica il ritardo tra i tentativi di connessione in secondi. Il valore predefinito è zero (0). Questo parametro è valido solo quando il valore di PSConnectionRetryCount è almeno 1.

-PSConnectionURI <System.Uri>

Specifica un URI (Uniform Resource Identifier) che definisce l'endpoint di connessione per il flusso di lavoro nel computer di destinazione. L'URI deve essere completo.

Il formato di questa stringa è il seguente:

<Transport>://<ComputerName>:<Port>/<ApplicationName>

Il valore predefinito è http://localhost:5985/WSMAN.

Se non si specifica un PSConnectionURI, è possibile usare i parametri PSUseSSL, PSComputerName, PSPort e PSApplicationName per specificare i valori PSConnectionURI.

I valori validi per il segmento Transport dell'URI sono HTTP e HTTPS. Se si specifica un URI di connessione con un segmento di trasporto, ma non si specifica una porta, la sessione viene creata con porte standard: 80 per HTTP e 443 per HTTPS. Per usare le porte predefinite per la comunicazione remota di Windows PowerShell, specificare la porta 5985 per HTTP o 5986 per HTTPS.

-PSCredential PSCredential <>

Specifica un account utente che dispone dell'autorizzazione per eseguire un flusso di lavoro nel computer di destinazione. Il valore predefinito è l'utente corrente. Questo parametro è valido solo quando il parametro PSComputerName è incluso nel comando.

Digitare un nome utente, ad esempio User01 o Domain01\User01, o immettere una variabile che contiene un oggetto PSCredential , ad esempio quello restituito dal Get-Credential cmdlet. Se si immette solo un nome utente, viene richiesta una password.

-PSElapsedTimeoutSec <UInt32>

Determina per quanto tempo il flusso di lavoro e tutte le risorse correlate vengono mantenute nel sistema. Alla scadenza del timeout, il flusso di lavoro viene eliminato, anche se è ancora in elaborazione. Immettere un valore compreso tra 10 e 4.294.967.295. Il valore predefinito ( 0 zero) indica che non è presente alcun timeout trascorso.

-PSParameterCollection <Hashtable[]>

Specifica valori di parametri comuni del flusso di lavoro diversi per computer di destinazione diversi.

Immettere un elenco delimitato da virgole di tabelle hash con una tabella hash per ogni computer di destinazione. In ogni tabella hash la prima chiave è PSComputerName e il relativo valore è il nome del computer di destinazione. I caratteri jolly sono consentiti nel nome del computer. Per le chiavi rimanenti nella tabella hash, la chiave è il nome del parametro e il valore è il valore del parametro.

Ad esempio:

-PSParameterCollection @{PSComputerName="*"; PSElapsedTimeoutSec=20},
@{PSComputerName="Server02"},
@{PSComputerName="Server03"},
@{PSComputerName="Server01"; PSElapsedTimeoutSec=10}

Nell'esempio precedente, tutte le connessioni avranno un valore PSElapsedTimeoutSec predefinito di secondi, ad eccezione di 20 Server01 che esegue l'override del valore predefinito specificando il proprio timeout di 10 secondi.

-PSPersist <Boolean>

Aggiunge checkpoint al flusso di lavoro, oltre a tutti i checkpoint specificati nel flusso di lavoro.

Questo parametro non può eliminare i checkpoint in un flusso di lavoro, ad esempio quelli specificati usando il parametro comune dell'attività PSPersist , l'attività Checkpoint-Workflow o la $PSPersistPreference variabile.

Un "checkpoint" o "punto di persistenza" è uno snapshot dello stato del flusso di lavoro e dei dati acquisiti durante l'esecuzione del flusso di lavoro e viene salvato in un archivio di persistenza su disco o in un database SQL. Il flusso di lavoro di Windows PowerShell usa i dati salvati per riprendere un flusso di lavoro sospeso o interrotto dall'ultimo punto di persistenza, anziché riavviare il flusso di lavoro.

Valori validi:

  • (Impostazione predefinita) Se si omette questo parametro, viene aggiunto un checkpoint all'inizio e alla fine del flusso di lavoro, oltre a tutti i checkpoint specificati nel flusso di lavoro.

  • $True. Aggiunge un checkpoint all'inizio e alla fine del flusso di lavoro e un checkpoint dopo ogni attività, oltre a tutti i checkpoint specificati nel flusso di lavoro.

  • $False. Non vengono aggiunti checkpoint. I checkpoint vengono eseguiti solo se specificati nel flusso di lavoro.

-PSPort <Int32>

Specifica la porta di rete nei computer di destinazione. Le porte predefinite sono 5985 (la porta WinRM per HTTP) e 5986 (la porta WinRM per HTTPS).

Non usare il parametro PSPort a meno che non sia necessario. La porta impostata nel comando si applica a tutti i computer o le sessioni in cui viene eseguito il comando. Un'impostazione di porta alternativa potrebbe impedire l'esecuzione del comando in tutti i computer. Prima di usare una porta alternativa, è necessario configurare il listener di Gestione remota Windows nel computer remoto per l'ascolto su tale porta.

-PSPrivateMetadata <Hashtable>

Fornisce informazioni personalizzate per i processi del flusso di lavoro. Immettere una tabella hash. Le chiavi e i valori vengono personalizzati per ogni flusso di lavoro. Per informazioni sui metadati privati di un flusso di lavoro, vedere l'argomento della Guida per il flusso di lavoro.

Questo parametro non viene elaborato dal motore del flusso di lavoro di Windows PowerShell. Il motore passa invece la tabella hash direttamente al flusso di lavoro.

-PSRunningTimeoutSec <UInt32>

Specifica il tempo di esecuzione del flusso di lavoro in secondi, escluso ogni volta che il flusso di lavoro viene sospeso. Se l'esecuzione del flusso di lavoro non viene completata alla scadenza, il motore del flusso di lavoro di Windows PowerShell interrompe forzatamente l'esecuzione del flusso di lavoro.

-PSSessionOption <PSSessionOption>

Imposta le opzioni avanzate per le sessioni nei computer di destinazione. Immettere un oggetto PSSessionOption , ad esempio quello creato usando il New-PSSessionOption cmdlet .

I valori predefiniti per le opzioni di sessione sono determinati dal valore della variabile di $PSSessionOption preferenza, se impostato. In caso contrario, la sessione usa i valori specificati nella configurazione della sessione.

Per una descrizione delle opzioni di sessione, inclusi i valori predefiniti, vedere New-PSSessionOption. Per informazioni sulla $PSSessionOption variabile di preferenza, vedere about_Preference_Variables.

-PSUseSSL <SwitchParameter>

Usa il protocollo SSL (Secure Sockets Layer) per stabilire una connessione al computer di destinazione. Per impostazione predefinita SSL non viene utilizzato.

WS-Management crittografa tutto il contenuto di Windows PowerShell trasmesso in rete. UseSSL è una protezione aggiuntiva che invia i dati tramite HTTPS, anziché HTTP. Se si usa questo parametro, ma SSL non è disponibile sulla porta usata per il comando, il comando non riesce.

Vedi anche