Zum Hauptinhalt springen

Die Windows PowerShell

Windows PowerShell

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 5. 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. Bei manchen von Ihnen müssen erst Module ü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.

Die Windows 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 Windows 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.

Die PowerShell: Ein mächtiges Werkzeug in Windows

Die PowerShell ist ein mächtiges Werkzeug und wird ständig weiterentwickelt. Von der Version 6 gibt es aktuell eine Alpha-Version. Diese steht auch für andere Betriebssysteme wie macOS oder Ubuntu zur Verfügung. Allerdings baut diese PowerShell-Version nur auf .NET Core auf. Die Windows PowerShell für Windows setzt weiterhin auf dem größeren .NET-Framework auf.

Wenn Sie praktisch einmal mit der PowerShell arbeiten möchten, bieten wir Seminare zu PowerShell Grundlagen und auch PowerShell Vertiefung an.

Kommentar schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert