Compartilhar via


Comutadores WhatIf, Confirm e ValidateOnly

Aplica-se a: Exchange Server 2013

Tanto os administradores experientes como os escritores de scripts, bem como os administradores que não estão familiarizados com o Exchange e os scripts, podem beneficiar da utilização dos comutadores WhatIf, Confirm e ValidateOnly . Estes parâmetros permitem-lhe controlar a forma como os comandos são executados e indicar exatamente o que um comando fará antes de afetar os dados. Esta funcionalidade é bastante valiosa à medida que transita do ambiente de teste para o seu ambiente de produção e à medida que implementa novos scripts ou comandos.

Os comutadores WhatIf, Confirm e ValidateOnly são especialmente úteis quando os utiliza com comandos que modificam objetos que são devolvidos através de um filtro ou através de um comando Obter num pipeline. Este tópico descreve cada comutador e também fornece um comando de exemplo para cada comutador.

Importante

Se quiser utilizar os parâmetros WhatIf, Confirm e ValidateOnly com comandos num script, tem de adicionar o comutador adequado a cada comando no script e não na linha de comandos que chama o script.

Observação

WhatIf, Confirm e ValidateOnly são chamados parâmetros de comutador. Para mais informações sobre parâmetros de opção, confira Parameters.

Parâmetro WhatIf

O parâmetro WhatIf indica o comando ao qual é aplicado para execução, mas apenas para apresentar os objetos que seriam afetados ao executar o comando e que alterações seriam feitas a esses objetos. Na verdade, o comutador não altera nenhum desses objetos. Quando utiliza o comutador WhatIf , pode ver se as alterações que seriam feitas a esses objetos correspondem às suas expetativas, sem a preocupação de modificar esses objetos.

Quando executa um comando juntamente com o comutador WhatIf , coloca o comutador WhatIf no final do comando, tal como no exemplo seguinte:

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

Quando executa este comando de exemplo, o seguinte texto é devolvido pela Shell:

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

Confirmar comutador

O parâmetro Confirmar dá instruções ao comando ao qual é aplicado para parar o processamento antes de serem efetuadas alterações. Em seguida, o comando pede-lhe para reconhecer cada ação antes de continuar. Quando utiliza o comutador Confirmar , pode percorrer as alterações aos objetos para se certificar de que as alterações são feitas apenas aos objetos específicos que pretende alterar. Esta funcionalidade é útil quando aplica alterações a muitos objetos e pretende ter controlo preciso sobre o funcionamento da Shell. É apresentado um pedido de confirmação para cada objeto antes de a Shell modificar o objeto.

Por predefinição, a Shell aplica automaticamente o comutador Confirmar aos cmdlets que têm os seguintes verbos:

  • Clear
  • Disable
  • Desmontar
  • Mover
  • Remove
  • Stop
  • Suspender
  • Uninstall

Quando um cmdlet é executado com qualquer um destes verbos, a Shell para automaticamente o comando e aguarda a sua confirmação antes de continuar a processar.

Se quiser aplicar manualmente o comutador Confirmar a um comando, inclua o comutador Confirmar no final do comando, tal como no exemplo seguinte:

Get-JournalRule | Enable-JournalRule -Confirm

Quando executa este comando de exemplo, a seguinte linha de confirmação é devolvida pela Shell:

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"):

O pedido de confirmação dá-lhe as seguintes opções:

  • [Y] Sim: Escreva Y para instruir o comando para continuar a operação. A próxima operação apresentará outro pedido de confirmação. [Y] Yes é a escolha predefinida.

  • [A] Sim a Todos: Escreva A para instruir o comando para continuar a operação e todas as operações subsequentes. Não receberá pedidos de confirmação adicionais durante este comando.

  • [N] Não: Escreva N para instruir o comando para ignorar esta operação e continuar com a operação seguinte. A próxima operação apresentará outro pedido de confirmação.

  • [L] Não a Todos: Escreva L para instruir o comando a ignorar esta operação e todas as operações subsequentes.

  • [S] Suspender: escreva S para colocar o pipeline atual em pausa e regressar à linha de comandos. Escreva Sair para retomar o pipeline.

  • [?] Ajuda: escreva ? para apresentar a ajuda da linha de comandos.

Se quiser substituir o comportamento predefinido da Shell e suprimir o pedido de confirmação dos cmdlets nos quais é aplicado automaticamente, pode incluir o parâmetro Confirmar com um valor de $False, como no exemplo seguinte:

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

Neste caso, não é apresentado nenhum pedido de confirmação.

Aviso

O valor predefinido do comutador Confirmar é $True. O comportamento predefinido da Shell é apresentar automaticamente um pedido de confirmação. Se suprimir este comportamento predefinido, instrua o comando para suprimir todos os pedidos de confirmação durante esse comando. O comando processará todos os objetos que cumpram os critérios do comando sem confirmação.

Comutador ValidateOnly

O parâmetro ValidateOnly instrui o comando ao qual é aplicado para avaliar todas as condições e requisitos necessários para executar a operação antes de aplicar quaisquer alterações. O comutador ValidateOnly está disponível em cmdlets que podem demorar muito tempo a ser executados, têm várias dependências em vários sistemas ou afetam dados críticos, como caixas de correio.

Quando aplica o comutador ValidateOnly a um comando, o comando é executado durante todo o processo. O comando executa cada ação tal como faria sem o comutador ValidateOnly . No entanto, o comando não altera quaisquer objetos. Quando o comando concluir o processo, apresenta um resumo com os resultados da validação. Se a validação indicar que o comando foi bem-sucedido, pode executar o comando novamente sem o comutador ValidateOnly .

Quando executa um comando juntamente com o comutador ValidateOnly , coloca o comutador ValidateOnly no final do comando.