Parametri WhatIf, Confirm e ValidateOnly

 

Si applica a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Ultima modifica dell'argomento: 2007-06-19

Exchange Management Shell è un'interfaccia di gestione molto potente e flessibile. La riga di comando consente di gestire interattivamente l'infrastruttura. È possibile creare ed eseguire script che automatizzano attività complesse o svolte frequentemente. Quando si conosce l'utilizzo di Exchange Management Shell, dello scripting o di entrambi, è possibile visualizzare i risultati di un comando prima che i dati siano modificati. È possibile inoltre confermare l'imminente esecuzione di un comando. Questa funzionalità è particolarmente importante per la transizione dall'ambiente di prova all'ambiente di produzione e per eseguire il roll-out di nuovi script o comandi.

Sia amministratori e autori di script con esperienza, sia amministratori che non conoscono Exchange e lo scripting, possono trarre vantaggio dall'utilizzo dei parametri WhatIf, Confirm e ValidateOnly. Questi parametri sono disponibili in Exchange Management Shell. Questi parametri consentono di controllare la modalità di esecuzione dei comando e di indicare esattamente l'effetto di un comando prima che influisca sui dati. I parametri WhatIf, Confirm e ValidateOnly sono particolarmente utili quando sono associati ai comandi che modificano gli oggetti restituiti utilizzando un filtro o un comando Get in una pipeline. In questo argomento viene descritto ogni parametro.

Importante

Per utilizzare i parametri WhatIf, Confirm e ValidateOnly con i comandi in uno script, occorre aggiungere il parametro appropriato a ogni comando nello script e non sulla riga di comando che richiama lo script.

Nota

I parametri WhatIf, Confirm e ValidateOnly sono definiti parametri switch. Per ulteriori informazioni sui parametri switch, vedere Parameters.

Parametro WhatIf

Il parametro WhatIf consente l'esecuzione del comando a cui è applicato solo per visualizzare gli oggetti interessati dall'esecuzione del comando e le eventuali modifiche a tali oggetti. Il dominio non modifica effettivamente alcun oggetto. Utilizzando il parametro WhatIf è possibile vedere se le eventuali modifiche agli oggetti soddisfano le proprie aspettative, senza preoccuparsi di modificare gli oggetti.

Quando si esegue un comando con il parametro WhatIf, inserire il parametro WhatIf alla fine del comando, come nell'esempio seguente:

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

Eseguendo questo comando esemplificativo, Exchange Management Shell visualizza il testo seguente:

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

Per visualizzare un elenco di cmdlet che accettano il parametro WhatIf, digitare il comando seguente in Exchange Management Shell:

Get-ExCommand | Where { $_.Definition -Like "*WhatIf*" }

Parametro Confirm

Il parametro Confirm consente al comando a cui è applicato di interrompere l'elaborazione prima di apportare eventuali modifiche. Il comando richiede infatti di confermare ogni azione prima di continuare. Quando si utilizza il parametro Confirm, è possibile controllare le modifiche agli oggetti per accertarsi che le modifiche siano apportate solo agli oggetti specifici da modificare. Questa funzionalità è utile quando si apportano modifiche a più oggetti per avere un controllo preciso sul funzionamento di Exchange Management Shell. Viene visualizzato un prompt di conferma per ogni oggetto prima che Exchange Management Shell lo modifichi.

Per impostazione predefinita, Exchange Management Shell applica automaticamente il parametro Confirm ai cmdlet con i verbi seguenti:

  • Remove

  • Move

  • Stop

  • Clear

  • Suspend

  • Uninstall

  • Dismount

  • Disable

Quando viene eseguito un cmdlet con uno di questi verbi, Exchange Management Shell interrompe automaticamente il comando e attende la conferma prima di continuare l'elaborazione.

Quando si applica manualmente il parametro Confirm a un comando, inserire il parametro Confirm alla fine del comando, come nell'esempio seguente:

Get-JournalRule | Enable-JournalRule -Confirm

Eseguendo questo comando esemplificativo, Exchange Management Shell restituisce il prompt di conferma seguente:

[Y] Yes   [A] Yes to All   [N] No   [L] No to All   [S] Suspend   [?] Help   
(default is "Y"):

Il prompt di conferma presenta le opzioni seguenti:

  • [S] Sì Digitare S per consentire al comando di continuare l'operazione. L'operazione successiva presenterà un altro prompt di conferma. [Y] Yes è l'opzione predefinita.

  • [T] Sì, tutti Digitare T per consentire al comando di continuare l'operazione in corso e tutte quelle successive. Non si riceveranno ulteriori prompt di conferma per la durata di questo comando.

  • [N] No Digitare N per consentire al comando di saltare questa operazione e passare a quella successiva. L'operazione successiva presenterà un altro prompt di conferma.

  • [E] No, nessuno Digitare E per consentire al comando di saltare l'operazione in corso e tutte quelle successive.

  • [P] Sospendi Digitare P per sospendere la pipeline corrente e tornare alla riga di comando. Digitare Esci per riprendere la pipeline.

  • [?] Guida Digitare ? per visualizzare la guida dei prompt di conferma sulla riga di comando.

Per sostituire l'impostazione predefinita di Exchange Management Shell ed eliminare il prompt di conferma per i cmdlet a cui è applicato automaticamente, è possibile includere il parametro Confirm con un valore di $False, come nell'esempio seguente:

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

In questo caso non saranno visualizzati prompt di conferma.

Avviso

Il valore predefinito per il parametro Confirm è $True. Per impostazione predefinita, Exchange Management Shell visualizza automaticamente un prompt di conferma. Eliminando questa impostazione predefinita di Exchange Management Shell, il comando elimina tutti i prompt di conferma per la sua durata. Il comando elaborerà tutti gli oggetti che soddisfano i criteri stabiliti per il comando senza conferma.

Per visualizzare un elenco di cmdlet che accettano il parametro Confirm, digitare il comando seguente in Exchange Management Shell:

Get-ExCommand | Where { $_.Definition -Like "*Confirm*" }

Parametro ValidateOnly

Il parametro ValidateOnly consente al comando a cui è applicato di valutare tutte le condizioni e i requisiti necessari per eseguire l'operazione prima di apportare eventuali modifiche. Il parametro ValidateOnly è disponibile per i cmdlet che potrebbero richiedere molto tempo per l'esecuzione, che hanno diverse dipendenze su più sistemi o che influiscono su dati critici, ad esempio le cassette postali.

Quando si applica il parametro ValidateOnly a un comando, questo viene eseguito per l'intero processo. Il comando esegue ogni azione come se il parametro ValidateOnly non fosse applicato, tuttavia non modifica alcun oggetto. Al termine dell'elaborazione, il comando visualizza un riepilogo con i risultati della convalida. Se la convalida indica l'esecuzione corretta del comando, è possibile eseguirlo nuovamente senza il parametro ValidateOnly.

Quando si esegue un comando con il parametro ValidateOnly, inserire il parametro ValidateOnly alla fine del comando, come nell'esempio seguente:

Get-Mailbox "Kim Akers" | Move-Mailbox -TargetDatabase "Executive Database" -ValidateOnly

Eseguendo questo comando esemplificativo, Exchange Management Shell visualizza il testo seguente:

Identity                         : contoso.com/Users/Kim Akers
DistinguishedName                : CN=Kim Akers,CN=Users,DC=contoso,DC=com
DisplayName                      : Kim Akers
Alias                            : kim
LegacyExchangeDN                 : /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=kim
PrimarySmtpAddress               : kim@contoso.com
SourceServer                     : Win2003MS.contoso.com
SourceDatabase                   : WIN2003MS\First Storage Group\Mailbox Database
SourceGlobalCatalog              : Win2003MS.contoso.com
TargetGlobalCatalog              : Win2003MS.contoso.com
TargetDomainController           : Win2003MS.contoso.com
TargetMailbox                    :
TargetServer                     : Win2003MS.contoso.com
TargetDatabase                   : WIN2003MS\Second Storage Group\Executive Database
MailboxSize                      : 0KB
IsResourceMailbox                : False
SIDUsedInMatch                   :
SMTPProxies                      :
SourceManager                    :
SourceDirectReports              :
SourcePublicDelegates            :
SourcePublicDelegatesBL          :
MatchedTargetNTAccountDN         :
IsMatchedNTAccountMailboxEnabled :
MatchedContactsDNList            :
TargetNTAccountDNToCreate        :
TargetManager                    :
TargetDirectReports              :
TargetPublicDelegates            :
TargetPublicDelegatesBL          :
Options                          : Default
SourceForestCredential           :
TargetForestCredential           :
TargetFolder                     :
RsgMailboxGuid                   :
RsgMailboxLegacyExchangeDN       :
RsgMailboxDisplayName            :
RsgDatabaseGuid                  :
MoveType                         : IntraOrg
MoveStage                        : Validation
StartTime                        : 7/17/2006 4:39:13 PM
EndTime                          : 7/17/2006 4:39:14 PM
StatusCode                       : 0
StatusMessage                    : This mailbox can be moved to the target database.

Per visualizzare un elenco di cmdlet che accettano il parametro ValidateOnly, digitare il comando seguente in Exchange Management Shell:

Get-ExCommand | Where { $_.Definition -Like "*ValidateOnly*" }