Manuel Meyer Trivadis AG

Die PowerShell hat jeder Windows-Benutzer immer dabei. Durch die Integration mit .NET, WMI, COM, der Registry und allen verbreiteten Microsoft-Produkten ist sie ein sehr mächtiges Werkzeug.

Für viele .NET-Entwickler ist die PowerShell noch immer ein Buch mit sieben Siegeln und wird oft in die Sysadmin-Ecke verstoßen. Schade eigentlich, denn die PowerShell hat das Potenzial, den Entwickleralltag um einiges produktiver und angenehmer zu gestalten. Mal schnell sieben Frontend-Webserver neustarten? Eine virtuelle Maschine in Azure hochfahren? Aus den Services im Backend eine HTML-Datei generieren? Ein Back-up einer SQL-Server-Datenbank erstellen? Auf der Webserverfarm einen neuen Application Pool einrichten? Mit dem wachsenden DevOps-Bedürfnis, welches nach dem Verschmelzen von Entwicklung und Betrieb strebt, wird die PowerShell in Zukunft auch für Entwickler stark an Bedeutung gewinnen.

Die PowerShell ist ein Kommandozeileninterpreter für Windows und kann als Alternative zur klassischen Kommandozeile (cmd.exe) betrachtet werden. Seit Windows 7 ist die PowerShell fester Bestandteil des Windows-Betriebssystems. Es geht aber noch besser: In den letzten Jahren hat sich die PowerShell zum Werkzeug der Wahl für die Administration des Betriebssystems und einer Vielzahl von Windows-Produkten und -Anwendungen etabliert. In Folge dessen bringen Produkte wie Team Foundation Server, SQL Server, Exchange Server, BizTalk, SharePoint, IIS, System Center Operations Manager, Microsoft Azure und viele weitere ihre eigenen PowerShell-Skripte bereits mit. Eine umfassende Beschreibung der PowerShell gibt es in Wikipedia, eine gute Einführung bietet das kostenfreie E-Book von Keith Hill (in Englisch). Weitere Informationen sowie vorgefertigte PowerShell-Skripte gibt es auf der offiziellen PowerShell-Seite und in der PowerShell Gallery.

Die Möglichkeiten der PowerShell sind beinahe unbegrenzt. Da die PowerShell objektorientiert arbeitet und auf dem .NET Framework basiert, kann die Funktionalität aus sämtlichen .NET-Klassen direkt aus der Shell benutzt werden. Neben .NET bietet die PowerShell Schnittstellen zur Windows Management Instrumentation (WMI) und dem Component Object Model (COM). Weiter kann über so genannte PowerShell-Provider auf das Dateisystem, den Zertifikat-Store oder die Registry zugegriffen werden. Die entsprechenden Berechtigungen vorausgesetzt können PowerShell-Befehle auch auf Remote-Maschinen ausgeführt werden, ohne dass zuvor eine Remote-Desktop-Verbindung aufgebaut werden muss.

Hilfe, wie gehts los?

Bevor es um die Syntax der PowerShell geht, soll aufgezeigt werden, wie man sich helfen kann, wenn mal nichts mehr geht. Der wichtigste Befehl ist Get-Help. Get-Help erklärt, wie die Hilfefunktion in PowerShell benutzt werden kann. Da die PowerShell ohne Hilfedateien ausgeliefert wird, muss mit Update-Help die aktuellste Version der Hilfe auf den lokalen Rechner heruntergeladen oder auf die Onlineseiten ausgewichen werden.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Windows Developer 5.16 - "Alles nur Oberfläche?"

Alle Infos zum Heft
237794Grundlagen der DevOps-Welt
X
- Gib Deinen Standort ein -
- or -