{{tag>dev powershell}}
====== Powershell : l'argument -WhatIf ======
De nombreuses cmdlet contiennent un argument **-WhatIf** qui correspond à un dry-run (exécution à blanc ou simulée). La commande n'a pas d'effet sur le système : à la place un message est affiché dans la console pour explicité son action normale.
Cette option permet de tester l’exécution des cmdlets et des scripts sans modifier l'état du système.
Ci-dessous un exemple avec la cmdlet ''New-Item'' :
# La commande New-Item n'aura pas d'effet : à la place un message est affiché dans la console
# détaillant son action
New-Item -ItemType File -Path R:\Temp\test.txt -WhatIf
WhatIf : Opération « Créer un fichier » en cours sur la cible « Destination : R:\Temp\test.txt ».
On peut utiliser les variables **$WhatIfPreference** ou **$PSDefaultParameterValues** pour définir l'utilisation de l'argument -Wathif dans l'environnement courant plutôt que de le spécifier sur chaque commande :
# Utilise -Whatif par défaut
$WhatIfPreference = $true
# Equivalent
$global:PSDefaultParameterValues['*:WhatIf'] = $true
===== Références =====
* [[https://www.it-connect.fr/powershell-et-whatif-testez-vos-commandes-et-scripts/|Tester les commandes avec -WhatIf (it-connect.fr)]]