Comutadores WhatIf, Confirm e ValidateOnly

Aplica-se a: Exchange Server 2013

Administradores experientes e roteiristas e administradores que são novos no Exchange e scripts podem se beneficiar do uso das opções WhatIf, Confirm e ValidateOnly . Esses comutadores permitem controlar como seus comandos são executados e indicam exatamente o que um comando fará antes que ele afete os dados. Essa funcionalidade é bastante valiosa à medida que você faz a transição do ambiente de teste para o ambiente de produção e à medida que você distribui novos scripts ou comandos.

Os comutadores WhatIf, Confirm e ValidateOnly são especialmente úteis quando você os usa com comandos que modificam objetos que são retornados usando um filtro ou usando um comando Get em um pipeline. Este tópico descreve cada comutador e também fornece um comando de exemplo para cada comutador.

Importante

Se você quiser usar as opções WhatIf, Confirm e ValidateOnly com comandos em um script, você deve adicionar a opção apropriada a cada comando no script e não na linha de comando que chama o script.

Observação

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

Opção WhatIf

A opção WhatIf instrui o comando ao qual ele é aplicado para execução, mas apenas para exibir os objetos que seriam afetados pela execução do comando e quais alterações seriam feitas nesses objetos. A opção não altera nenhum desses objetos. Ao usar a opção WhatIf , você pode ver se as alterações que seriam feitas nesses objetos correspondem às suas expectativas, sem a preocupação de modificar esses objetos.

Ao executar um comando junto com o comutador WhatIf , você coloca a opção WhatIf no final do comando, como no exemplo a seguir:

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

Ao executar este comando de exemplo, o seguinte texto é retornado pelo Shell:

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

Confirmar comutador

A opção Confirmar instrui o comando ao qual ele é aplicado para interromper o processamento antes que qualquer alteração seja feita. Em seguida, o comando solicita que você reconheça cada ação antes que ela continue. Ao usar a opção Confirmar , você pode passar por alterações em objetos para garantir que as alterações sejam feitas apenas nos objetos específicos que você deseja alterar. Essa funcionalidade é útil quando você aplica alterações em muitos objetos e deseja um controle preciso sobre a operação do Shell. Um prompt de confirmação é exibido para cada objeto antes que o Shell modifique o objeto.

Por padrão, o Shell aplica automaticamente a opção Confirmar para cmdlets que têm os seguintes verbos:

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

Quando um cmdlet é executado que tem qualquer um desses verbos, o Shell interrompe automaticamente o comando e aguarda o reconhecimento antes que ele continue a ser processado.

Se você quiser aplicar manualmente a opção Confirmar a um comando, inclua a opção Confirmar no final do comando, como no exemplo a seguir:

Get-JournalRule | Enable-JournalRule -Confirm

Ao executar este comando de exemplo, o seguinte prompt de confirmação é retornado pelo 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 prompt de confirmação fornece as seguintes opções:

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

  • [A] Sim para Todos: digite A para instruir o comando a continuar a operação e todas as operações subsequentes. Você não receberá prompts de confirmação adicionais durante a duração deste comando.

  • [N] Não: Digite N para instruir o comando a ignorar essa operação e continuar com a próxima operação. A próxima operação apresentará outro prompt de confirmação.

  • [L] No to All: Type L para instruir o comando a ignorar essa operação e todas as operações subsequentes.

  • [S] Suspender: Digite S para pausar o pipeline atual e retornar à linha de comando. Digite Saída para retomar o pipeline.

  • [?] Ajuda: digite ? para exibir ajuda de prompt de confirmação na linha de comando.

Se você quiser substituir o comportamento padrão do Shell e suprimir o prompt de confirmação para cmdlets nos quais ele é aplicado automaticamente, você pode incluir a opção Confirmar com um valor de $False, como no exemplo a seguir:

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

Nesse caso, nenhum prompt de confirmação é exibido.

Aviso

O valor padrão da opção Confirmar é $True. O comportamento padrão do Shell é exibir automaticamente um prompt de confirmação. Se você suprimir esse comportamento padrão, instruirá o comando a suprimir todos os prompts de confirmação durante a duração desse comando. O comando processará todos os objetos que atendem aos critérios do comando sem confirmação.

Comutador ValidateOnly

A opção ValidateOnly instrui o comando ao qual ele é aplicado para avaliar todas as condições e requisitos necessários para executar a operação antes de aplicar qualquer alteração. A opção ValidateOnly está disponível em cmdlets que podem levar muito tempo para serem executados, ter várias dependências em vários sistemas ou afetar dados críticos, como caixas de correio.

Quando você aplica a opção ValidateOnly a um comando, o comando é executado durante todo o processo. O comando executa cada ação como faria sem a opção ValidateOnly . Mas o comando não altera nenhum objeto. Quando o comando conclui seu processo, ele exibe um resumo com os resultados da validação. Se a validação indicar que o comando foi bem-sucedido, você poderá executar o comando novamente sem a opção ValidateOnly .

Ao executar um comando junto com o comutador ValidateOnly , você coloca a opção ValidateOnly no final do comando.