Commutateurs WhatIf, Confirm et ValidateOnly

S’applique à : Exchange Server 2013

Les administrateurs expérimentés et les rédacteurs de scripts, ainsi que les administrateurs qui débutent dans Exchange et les scripts, peuvent tirer parti de l’utilisation des commutateurs WhatIf, Confirm et ValidateOnly . Les commutateurs suivants vous aident à contrôler comment sont exécutées vos commandes et à indiquer exactement ce que fera une commande avant d'affecter les données. Cette fonctionnalité est surtout importante lorsque vous opérez une transition de votre environnement de test à votre environnement de production et pendant que vous transférez de nouveaux scripts ou commandes.

Les commutateurs WhatIf, Confirm et ValidateOnly sont particulièrement utiles lorsque vous les utilisez avec des commandes qui modifient les objets retournés à l’aide d’un filtre ou d’une commande Get dans un pipeline. Cette rubrique décrit chaque commutateur et fournit également une commande en exemple.

Importante

Si vous souhaitez utiliser les commutateurs WhatIf, Confirm et ValidateOnly avec des commandes dans un script, vous devez ajouter le commutateur approprié à chaque commande du script, et non à la ligne de commande qui appelle le script.

Remarque

WhatIf, Confirm et ValidateOnly sont appelés paramètres switch. Pour plus d'informations sur les paramètres de commutateurs, voir Parameters.

Commutateur WhatIf

Le commutateur WhatIf indique à la commande à laquelle elle est appliquée de s’exécuter, mais uniquement d’afficher les objets qui seraient affectés par l’exécution de la commande et les modifications apportées à ces objets. Le commutateur ne modifie en fait aucun de ces objets. Lorsque vous utilisez le commutateur WhatIf , vous pouvez voir si les modifications qui seraient apportées à ces objets correspondent à vos attentes, sans vous soucier de modifier ces objets.

Lorsque vous exécutez une commande avec le commutateur WhatIf , vous placez le commutateur WhatIf à la fin de la commande, comme dans l’exemple suivant :

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

Lorsque vous exécutez cet exemple de commande, le texte suivant est retourné par le Shell :

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

Commutateur Confirm

Le commutateur Confirmer indique à la commande à laquelle elle est appliquée d’arrêter le traitement avant toute modification. La commande vous incite ensuite à accepter chaque action avant qu'elle ne continue. Lorsque vous utilisez le commutateur Confirmer , vous pouvez parcourir pas à pas les modifications apportées aux objets pour vous assurer que les modifications sont apportées uniquement aux objets spécifiques que vous souhaitez modifier. Cette fonctionnalité est utile lorsque vous appliquez les changements à plusieurs objets et que vous voulez un contrôle précis sur l'opération du Shell. Une boîte de dialogue de confirmation est affichée pour chaque objet avant que le Shell ne modifie l'objet.

Par défaut, l’interpréteur de commandes applique automatiquement le commutateur Confirm aux applets de commande qui ont les verbes suivants :

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

Lorsqu’une applet de commande s’exécute avec l’un de ces verbes, l’interpréteur de commandes arrête automatiquement la commande et attend votre accusé de réception avant de continuer à traiter.

Si vous souhaitez appliquer manuellement le commutateur Confirmer à une commande, incluez le commutateur Confirmer à la fin de la commande, comme dans l’exemple suivant :

Get-JournalRule | Enable-JournalRule -Confirm

Lorsque vous exécutez cet exemple de commande, la boîte de dialogue suivante est retournée par le 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"):

La boîte de dialogue de confirmation fournit les options suivantes:

  • [Y] Oui : tapez Y pour indiquer à la commande de continuer l’opération. L'opération suivante présentera une autre boîte de dialogue de confirmation. [Y] Yes est la sélection par défaut.

  • [A] Oui à Tout : tapez A pour indiquer à la commande de continuer l’opération et toutes les opérations suivantes. Vous ne recevrez pas d’invites de confirmation supplémentaires pour la durée de cette commande.

  • [N] Non : tapez N pour indiquer à la commande d’ignorer cette opération et de passer à l’opération suivante. L'opération suivante présentera une autre boîte de dialogue de confirmation.

  • [L] Non à Tout : tapez L pour indiquer à la commande d’ignorer cette opération et toutes les opérations suivantes.

  • [S] Suspendre : tapez S pour suspendre le pipeline actuel et revenir à la ligne de commande. Tapez Exit pour reprendre le pipeline.

  • [ ?] Aide : tapez ? pour afficher l’aide de l’invite de confirmation sur la ligne de commande.

Si vous souhaitez remplacer le comportement par défaut de l’interpréteur de commandes et supprimer l’invite de $Falseconfirmation pour les applets de commande sur lesquelles il est automatiquement appliqué, vous pouvez inclure le commutateur Confirmer avec la valeur , comme dans l’exemple suivant :

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

Dans ce cas, aucune boîte de dialogue de confirmation n'est affichée.

Avertissement

La valeur par défaut du commutateur Confirmer est $True. Le comportement par défaut du Shell est d'afficher automatiquement une boîte de dialogue de confirmation. Si vous supprimez ce comportement par défaut, vous ordonnez à la commande de supprimer toutes les boîtes de dialogue de confirmation pendant la durée d'exécution de la commande. La commande traitera tous les objets qui satisfont aux critères pour la commande sans confirmation.

Commutateur ValidateOnly

Le commutateur ValidateOnly indique à la commande à laquelle elle est appliquée d’évaluer toutes les conditions et exigences nécessaires pour effectuer l’opération avant d’appliquer des modifications. Le commutateur ValidateOnly est disponible sur les applets de commande qui peuvent prendre beaucoup de temps, avoir plusieurs dépendances sur plusieurs systèmes ou affecter des données critiques, telles que les boîtes aux lettres.

Lorsque vous appliquez le commutateur ValidateOnly à une commande, la commande s’exécute tout au long du processus. La commande effectue chaque action comme elle le ferait sans le commutateur ValidateOnly . La commande ne modifie cependant aucun objet. Lorsque la commande termine son processus, elle affiche un résumé avec les résultats de la validation. Si la validation indique que la commande a réussi, vous pouvez réexécuter la commande sans le commutateur ValidateOnly .

Lorsque vous exécutez une commande avec le commutateur ValidateOnly , vous placez le commutateur ValidateOnly à la fin de la commande.