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