Seit NT6.1, also Windows 7 bzw. Windows Server 2008, ist die Powershell bereits installiert oder kann über das Menu „Funktionen hinzufügen“ aktiviert werden.
Für ältere Systeme kann das Paket von Microsoft gratis bezogen werden: Link
Ein bisschen Theorie, schadet nie!
Variabeln werden wie in PHP mit einem Dollar-Zeichen gekennzeichnet. Die Zuweisung erfolgt auch wie in PHP, doch müssen Befehle nicht terminiert werden. Auch Funktionen haben keine runden Klammern. Ein Beispiel:
$b = get-childitem "C:\"
Die Kontrollstrukturen sehen denen von PHP jedoch extrem ähnlich:
foreach ($stueck in $arr) {
# Die Variabel $stueck geht jetzt durch das Array $arr
if ($stueck -eq "hallo") {
write-host "hallo gefunden"
} else {
write-host "hallo nicht gefunden"
}
}
Kommentare können nur bis zum Zeilenende definiert werden:
#Kommentar write-host "Hallo Welt" # Auch hier hinten ist es ein Kommentar das Produziert einen Fehler.
Wenn man seine Skripts schreibt, empfiehlt es sich nicht mit Notepad zu arbeiten sondern das ISE (Integrated Scripting Environment) zu verwenden. Das Programm heisst 'PowerShell_ISE.exe' und kann direkt über den Run/Ausführen-Dialog gestartet werden.
Da jedoch eine Sicherheitsstufe aktiv ist, muss diese zuerst gelockert werden:
PS C:\Users\ich> Set-ExecutionPolicy RemoteSigned
So werden alle lokel geschrieben Skrips erlaubt.
Sollte dies nicht reichen, kann die Sicherheit ganz abgeschaltet werden:
PS C:\Users\ich> Set-ExecutionPolicy Unrestricted
Sollte eine Frage kommen, diese mit Ja beantworten und schon kann man seine Skripts mit [ F5 ] direkt im Editor ausführen.
Diese Einstellung ist nicht ideal, da es allen Skripts die Ausführung erlaubt.
Um nach dem Entwickeln die Einstellung wieder zurückzusetzten:
PS C:\Users\ich> Set-ExecutionPolicy Default