PowerShell

PowerShell Parameters: Confirm und WhatIf

In diesem Beitrag beschäftige ich mich mit mit den beiden Parametern Confirm und Whatif. Die beiden gehören zu den sogenannten Risk-Mitigation Parameters. Mitigation bedeutet Milderung. Also quasi Milderung von Schmerzen, nämlich die des Administrators. Es geht um Vorsicht.

Confirm und Whatif sollten für alle PowerShell Befehle zur Verfügung stehen. Beide sind einfach erklärt. Die Wirkung ist jedoch eine große.

Confirm

Der Parameter Confirm ruft eine Bestätigung auf nach dem Motto: “Möchtest du das wirklich tun?”auf. Also ein Parameter für Angsthasen, oder auch für Menschen die gerne nochmals drüberschauen bevor es losgeht, so wie ich.

Möchtest du den Computer wirklich herunterfahren?

Stop-Computer -Confirm

Unbenannt.PNG

Zu beachten ist, dass beim Drücken einer Taste der Befehl ausgeführt wird, denn der Standard ist: Ja.

Möchtest du wirklich alle Dateien im Ordner Temp löschen?

Natürlich kann der Parameter auch in einem komplexeren Befehl verwendet werden.

Get-Childitem -Path C:\Temp\*.* | Remove-Item -Confirm

Unbenannt.PNG

WhatIf

WhatIf bedeutet was wenn. Nein nicht nur für Angsthasen, sondern für Menschen die gerne wissen würden, was passiert, bevor sie dann durchstarten.

Was passiert bei Stop-Computer?

Restart-Computer -WhatIf

Unbenannt.PNG

Da schau her, der überprüft das Recht “Herunterfahren”. Das dürfen nämlich nicht alle. Damit ist die Einstellung in gpedit.msc gemeint.

Unbenannt.PNG

Was passiert beim Löschen aller Dateien in C:\Temp?

Get-Childitem -Path C:\Temp\*.* | Remove-Item -WhatIf

Unbenannt.PNG

Also werden 2 Dateien gelöscht. Gut zu wissen.

Wer die komplette PowerShell Sitzung in den Simulationsmodus schalten möchte, der kann dies mit der Variable $WhatIfPreference tun: PowerShell: $WhatIfPreference für ganz Vorsichtige.

Fazit

Zwei coole Common Parameter. Aber es gibt noch mehr: MSDN: Common Parameter Names.

Viel Spaß beim Ausprobieren!

Categories: PowerShell

Tagged as: ,

2 replies »

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.