Opzioni WhatIf, Confirm e ValidateOnly

Si applica a: Exchange Server 2013

Sia gli amministratori esperti che i writer di script e gli amministratori che non hanno familiarita' con Exchange e gli script possono trarre vantaggio dall'uso delle opzioni WhatIf, Confirm e ValidateOnly . Questi parametri consentono di controllare la modalità di esecuzione dei comandi e indicano esattamente l'effetto di un comando prima che influisca effettivamente sui dati. Questa funzionalità è particolarmente importante quando si passa dall'ambiente di prova all'ambiente di produzione e quando si esegue il roll-out di nuovi script o comandi.

Le opzioni WhatIf, Confirm e ValidateOnly sono particolarmente utili quando vengono usate con comandi che modificano gli oggetti restituiti tramite un filtro o tramite un comando Get in una pipeline. Questo argomento descrive i singoli parametri e fornisce un comando di esempio per ciascuno di essi.

Importante

Se si desidera utilizzare le opzioni WhatIf, Confirm e ValidateOnly con i comandi in uno script, è necessario aggiungere l'opzione appropriata a ogni comando dello script e non alla riga di comando che chiama lo script.

Nota

WhatIf, Confirm e ValidateOnly sono chiamati parametri switch. Per ulteriori informazioni sui parametri opzionali, vedere Parameters.

Opzione WhatIf

L'opzione WhatIf indica al comando a cui viene applicato l'esecuzione, ma solo per visualizzare gli oggetti interessati dall'esecuzione del comando e le modifiche apportate a tali oggetti. L'opzione in realtà non modifica nessuno di questi oggetti. Quando si usa l'opzione WhatIf , è possibile verificare se le modifiche apportate a tali oggetti corrispondono alle aspettative, senza preoccuparsi di modificare tali oggetti.

Quando si esegue un comando insieme all'opzione WhatIf , l'opzione WhatIf viene inserita alla fine del comando, come nell'esempio seguente:

New-AcceptedDomain -Name "Contoso Domain" -DomainName "contoso.com" -WhatIf

Quando si esegue questo comando di esempio, Shell visualizza il testo seguente:

What if: Creating Accepted Domain "Contoso Domain" with domain name "contoso.com".

Opzione Confirm

L'opzione Conferma indica al comando a cui viene applicato di interrompere l'elaborazione prima di apportare modifiche. Il comando richiede infatti di confermare ogni azione prima di continuare. Quando si usa l'opzione Conferma , è possibile esaminare le modifiche apportate agli oggetti per assicurarsi che le modifiche vengano apportate solo agli oggetti specifici che si desidera modificare. Questa funzionalità è utile quando si apportano modifiche a più oggetti e si desidera avere un controllo preciso sul funzionamento di Shell. Prima che Shell modifichi ogni oggetto, viene visualizzato una richiesta di conferma.

Per impostazione predefinita, la shell applica automaticamente l'opzione Conferma ai cmdlet con i verbi seguenti:

  • Clear
  • Disable
  • Dismount
  • Move
  • Remove
  • Stop
  • Suspend
  • Uninstall

Quando viene eseguito un cmdlet con uno di questi verbi, shell arresta automaticamente il comando e attende il riconoscimento prima che continui a elaborare.

Se si vuole applicare manualmente l'opzione Conferma a un comando, includere l'opzione Conferma alla fine del comando, come nell'esempio seguente:

Get-JournalRule | Enable-JournalRule -Confirm

Quando si esegue questo comando di esempio, Shell visualizza la seguente richiesta di conferma:

Confirm
Are you sure you want to perform this action?
Enabling journal rule "Litigation Journal Rule".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help
(default is "Y"):

La richiesta di conferma consente di scegliere tra le seguenti possibilità:

  • [Y] Sì: digitare Y per indicare al comando di continuare l'operazione. L'operazione successiva presenterà un'altra richiesta di conferma. [Y] Yes è la scelta predefinita.

  • [A] Sì a tutti: digitare A per indicare al comando di continuare l'operazione e tutte le operazioni successive. Non si riceveranno richieste di conferma aggiuntive per la durata di questo comando.

  • [N] No: digitare N per indicare al comando di ignorare questa operazione e continuare con l'operazione successiva. L'operazione successiva presenterà un'altra richiesta di conferma.

  • [L] No a Tutti: digitare L per indicare al comando di ignorare questa operazione e tutte le operazioni successive.

  • [S] Sospendi: digitare S per sospendere la pipeline corrente e tornare alla riga di comando. Digitare Exit per riprendere la pipeline.

  • [?] Guida: digitare ? per visualizzare la Guida del prompt di conferma nella riga di comando.

Se si vuole eseguire l'override del comportamento predefinito della shell e eliminare la richiesta di conferma per i cmdlet su cui viene applicata automaticamente, è possibile includere l'opzione Confirm con un valore pari $Falsea , come nell'esempio seguente:

Get-JournalRule | Disable-JournalRule -Confirm:$False

In questo caso non saranno visualizzate richieste di conferma.

Avviso

Il valore predefinito dell'opzione Confirm è $True. Per impostazione predefinita, Shell visualizza automaticamente la richiesta di conferma. Se si modifica questo impostazione predefinita, il comando eliminerà tutte le richieste di conferma per la sua durata. Il comando elaborerà tutti gli oggetti che soddisfano i criteri stabiliti per il comando senza richiedere alcuna conferma.

Opzione ValidateOnly

L'opzione ValidateOnly indica al comando a cui viene applicato di valutare tutte le condizioni e i requisiti necessari per eseguire l'operazione prima di applicare eventuali modifiche. L'opzione ValidateOnly è disponibile nei cmdlet che possono richiedere molto tempo per l'esecuzione, avere diverse dipendenze da più sistemi o influire sui dati critici, ad esempio le cassette postali.

Quando si applica l'opzione ValidateOnly a un comando, il comando esegue l'intero processo. Il comando esegue ogni azione come farebbe senza l'opzione ValidateOnly . Ma il comando non modifica alcun oggetto. Al termine del processo, il comando visualizza un riepilogo con i risultati della convalida. Se la convalida indica che il comando ha avuto esito positivo, è possibile eseguire nuovamente il comando senza l'opzione ValidateOnly .

Quando si esegue un comando insieme all'opzione ValidateOnly , si inserisce l'opzione ValidateOnly alla fine del comando.