Kategorieauswahl

Parameter

Von der Eingabeaufforderung Parameter an Powershellscripte übergeben

Was passiert, wenn Sie ein Powershellscript doppelklicken? Das ist natürlich davon abhängig, welche Zusatzsoftware (z.B. PowerGui) Sie installiert haben, doch standardmäßig wird unter Windows Server 2008 R2 z. B. der Texteditor Notepad gestartet anstatt das Script auszuführen. Das ist auch noch so eine tolle Schutzmaßnahme, die das Ausführen von „bösen“ (und natürlich auch guten) Powershellscripten erschweren soll. Das ist auch der Grund warum sich keine Parameter an Powershellscripte übergeben lassen. Dieser Registry-Hack beseitigt das Problem:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\open\command]
@="\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" \"-file\" \"%1\" %*"
Wenn Sie mögen können Sie den schräg dargestellten Text einfach in einer Datei mit der Endung .reg abspeichern und doppelklicken. Danach können Sie per Doppelklick die Powershell-Scripte starten und auch Parameter übergeben.

Innerhalb des Powershellscripts können Sie die Parameter entweder über die Variable $args oder $Input abfragen. Bei mehreren Parametern mit $args[0] den 1., $args[1] den 2. etc…