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
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
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
Da schau her, der überprüft das Recht “Herunterfahren”. Das dürfen nämlich nicht alle. Damit ist die Einstellung in gpedit.msc gemeint.
Was passiert beim Löschen aller Dateien in C:\Temp?
Get-Childitem -Path C:\Temp\*.* | Remove-Item -WhatIf
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
2 replies »