SID-500

Home » PowerShell » PowerShell Parameters: Confirm und WhatIf

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.


1 Comment

  1. […] wirklich ausgeführt. Es wird nur so getan als ob. PowerShell Erfahrene kennen diese Funktion vom -WhatIf Parameter. Aber in diesem Beitrag gehts nicht um den Parameter, sondern ums große […]

    Like

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

Categories

Who is the blogger?

My name is Patrick Grünauer (pewa2303). I am from Austria. On sid-500 I write about Windows, Cisco and IT-Security in English and German. Have fun while reading!

Patrick Gruenauer
Follow SID-500 on WordPress.com