Die PowerShell ist eine Programmier- und Skriptsprache, die im Betriebssystem Windows eingesetzt wird. Im November 2006 wurde die erste Version veröffentlicht. Mittlerweile existiert seit einigen Jahren die Version 7. Was können Sie mit der PowerShell anstellen? Mit der PowerShell können Sie Systemaufgaben automatisieren und Systemmanagementprogramme selbst entwickeln. Dabei basiert die Windows PowerShell auf dem .NET-Framework.
Den Kern der PowerShell bilden kleine Funktionseinheiten, die Cmdlets (ausgesprochen: Commandlets) genannt werden. Die Cmdlets sind als spezielle .NET-Klassen implementiert, welche als Eingabe bestimmte Parameter und Objekte aufnehmen. Der Aufruf dieser Cmdlets folgt dabei dem Schema Verb-Substantiv, beispielsweise Get-Help oder Install-WindowsFeature. Bei den Namen der Cmdlets ist die Groß-/Kleinschreibung nicht relevant. Dies trifft für die Namen innerhalb der Parameter aber nicht immer zu.
In der PowerShell stehen Ihnen standardmäßig einige Cmdlets zur Verfügung. Manchen Cmdlets müssen erst über Import-Module nachgeladen werden. Active-Directory-Module beispielsweise werden nur auf Domänencontrollern standardmäßig zur Verfügung gestellt.
Beispiele für Cmdlets in der PowerShell
Es gibt beispielsweise Dienst-, Ereignisprotokoll- und Prozess-Cmdlets. Einige Beispiele für Cmdlets sind:
- Get-Service: Zeigt die Eigenschaften aller Dienste auf dem jeweiligen Computer an
- Get-Service „Name“: Zeigt die Eigenschaften des Dienstes „Name“ an.
- New-Service: Erstellt einen neuen Dienst. Dazu muss der Name und die Quelle der Ausführungsdatei genannt werden. Ein Beispiel wäre New-Service -Name „NameDesDienstes“ BinaryPathName „C:\WINDOWS\System32\svchost.exe -k netsvcs“.
- Get-WindowsFeature -ComputerName SERVER: Zeigt eine Liste aller installierten Rollen und Features auf dem Computer mit dem Namen SERVER an.
PowerShell bietet mehr als nur Cmdlets
Die PowerShell können Sie auch ähnlich einer Commandline nutzen. Einzelne Befehle sind ausführbar wie in einer Commandline. Die PowerShell kann nicht nur einzelne Befehle oder Cmdlets ausführen, es können auch Skripte eingesetzt werden (mit der Dateiendung ps1). Seit dem Windows Server 2012 ist die Ausführung solcher Skripte grundsätzlich erlaubt. Diese Skripte müssen standardmäßig allerdings signiert sein, was nicht immer der Fall ist. Bei selbst geschriebenen Skripten wird eine Signierung wohl selten der Fall sein. Mit Set-ExecutionPolicy POLICY können Sie dies ändern. POLICY steht dabei für einen der Werte Restricted, AllSigned, RemoteSigned oder Unrestricted.
Änderungen im Active Directory mit PowerShell
Mit der PowerShell können Sie ohne eine echte GUI Änderungen im Active Directory durchführen. Normalerweise sind die Standardcontainer für Benutzter und Computer vom Typ Container (CN). Gruppenrichtlinien können auf Containern nicht wirken. Dazu müssen Organisationseinheiten (OU) angelegt werden. Mit der PowerShell ist die Umleitung neuer Computer und Benutzer in eine OU auf einem Domänencontroller schnell getan.
Mit Redirusr OU=MyUsers,DC=ALLSKILLS,DC=de können Sie die Benutzer in die OU „MyUsers“ der Domäne allskills.de umleiten. Mit Redircmp OU=MyCmputers,DC=ALLSKILLS,DC=de tun Sie dies für Computer.
PowerShell: Ein mächtiges Werkzeug in Windows
Wenn Sie die Funktionen der PowerShell praktisch erlernen möchten, so bieten wir Ihnen zwei Seminare an:

