Definition

Was ist PowerShell?

| Autor / Redakteur: Stefan Luber / Andreas Donner

(© aga7ta - Fotolia)

PowerShell ist eine objektorientierte Skript- und Programmiersprache für Windows mit eigenem Command Line Interface. Es lassen sich mit ihrer Hilfe Aufgaben automatisieren und Tools entwickeln. Seit 2016 ist sie als Open-Source-Projekt plattformübergreifend für weitere Betriebssysteme verfügbar.

Die PowerShell stellt eine interaktive Befehlszeilen-Shell für Windows-Systeme zur Verfügung und kann als Nachfolger der Eingabeaufforderung verstanden werden. Sie ist jedoch wesentlich mächtiger und bietet einen um ein Vielfaches größeren Funktions- und Befehlsumfang. Mit der Shell lassen sich zahlreiche Aufgaben auf den Systemen automatisieren.

Häufig kommt sie für das Systemmanagement und die Verwaltung von Windows-basierten Client-Server-Systemen zum Einsatz. Die Befehle der PowerShell nennen sich Cmdlets. Für die Erstellung von Skripten ist ein umfassender Satz von Kontroll- und Logikstrukturen wie Schleifen oder if-Abfragen, regulären Ausdrücken, Befehlen zur Zeichenverarbeitung oder arithmetischen Funktionen vorhanden.

Skripte bestehen aus den Cmdlets und zugehörigen Logikfunktionen und -ausdrücken. Im Kern arbeitet die PowerShell objektorientiert. Dadurch stehen ihr beispielsweise alle COM-Objekte und das gesamte .NET Framework zur Verfügung. Ebenfalls möglich ist der Zugriff auf die Windows Management Instrumentation (WMI), mit der sich umfassende Systeminformationen abfragen lassen.

Befehle und Skripte können über ein Netzwerk hinweg remote auf fremden Rechnern ausgeführt werden. Dadurch eignet sich die Shell bestens für Administrationsaufgaben in einem Rechnernetz. Grundsätzlich verbindet die Shell die objektorientierte Programmierung mit den von Unix-Shells bekannten Pipe- und Filterfunktionen. Anwender der Shell können sowohl komplexe Skripte programmieren als auch einfache Kommandozeilenbefehle ausführen und untereinander verknüpfen. Die PowerShell ist ein kostenloser Bestandteil aktueller und vergangener Windows-Versionen.

Die PowerShell: Open Source und plattformübergreifend

2016 gab Microsoft bekannt, dass die Shell plattformübergreifend für verschiedene Betriebssysteme verfügbar werden soll. Es wurden unter Open-Source-Lizenz erste Alpha-Versionen der PowerShell 6.0 für Linux und macOS veröffentlicht. Hintergrund der plattformübergreifenden Strategie von Microsoft sind die Cloud-Aktivitäten des Konzerns, bei denen neben Windows-Rechnern auch Linux-Systeme bereitgestellt werden. Die Shell soll zu einem universell einsetzbaren Tool für Administratoren werden – unabhängig vom verwendeten Betriebssystem.

Die verschiedenen Versionen der Windows Shell

Bereits seit Windows XP ist die PowerShell als kostenloser Download von Microsoft verfügbar. Auch für alle nachfolgenden Windows-Versionen kann die Shell genutzt werden. Sie ist ebenfalls für die Server-Betriebssysteme wie Windows Server 2003, Windows Server 2008 oder Windows Server 2012/2012 R2 erhältlich. Hier ein kurzer Überblick über die bisherigen Versionen:

  • Version 1.0 (2006) für Windows XP und höher
  • Version 2.0 (2009) für Windows XP und höher
  • Version 3.0 (2012) für Windows 7, Windows Server 2008 und höher
  • Version 4.0 (2013) für Windows 7, Windows Server 2008 und höher
  • Version 5.0 (2015) für Windows 7, Windows 8.1, Windows 10 ...
  • Version 5.1 (2016) für Windows 7, Windows 8.1, Windows 10, Windows Server 2008 R2, 2012, 2012 R2, Windows Server 2016 ...

Die zentralen Funktionen der PowerShell

Im Folgenden kurz zusammengefasst die zentralen Funktionen der Shell:

  • umfangreiche Befehlssammlung (Cmdlets)
  • Zugang zu sämtlichen Systemobjekten des .NET Frameworks, der COM-Bibliotheken und der Windows Management Instrumentation (WMI)
  • Weitergabe von objektorientierten Ausgaben der Cmdlets über Pipelines
  • mächtige und einfach zu erlernende Skriptsprache mit umfangreichen Logik- und Steuerfunktionen
  • Implementierung eines Sicherheitsmodells zur Verhinderung des unerwünschten Ausführens von Skripten
  • Funktionen für das Debugging und die Verfolgung des Skriptablaufs
  • separater Skripteditor und Debugger in Form des Windows PowerShell ISE
  • Erweiterung des Befehlssatzes um eigene Befehle möglich
  • Integration in eigene Anwendungen per Hosting möglich

Cmdlets – die Befehle der PowerShell-Umgebung

Die Befehle der Shell-Umgebung nennen sich Cmdlets, ausgesprochen Commandlets. Die Cmdlets sind keine Stand-Alone-Anwendungen, sondern nur innerhalb der PowerShell-Umgebung ausführbar. Sie lassen sich direkt im Command Line Interface (CLI) eingeben. Die Ergebnisse der Cmdlets sind Objekte, die mit weiteren Befehlen verarbeitet werden können.

Die Syntax der Cmdlets richtet sich nach einer Verb-Nomen-Struktur. Durch das vorangestellte Verb orientieren sich die Cmdlets an verschiedenen Aufgaben. Beispiele für Befehle dieser Art sind Get-Process, Stop-Process, Select-Object, Move-Item oder Copy-Item. Im Command Line Interface werden unvollständig eingegebene Kommandos wie Get-It durch drücken der Tabulator-Taste vervollständigt (in diesem Fall zu Get-Item). Ebenfalls möglich sind Abkürzungen der Befehle beispielsweise gps für Get-Process, mi für Move-Item oder gi für Get-Item. Mit dem Cmdlet Get-Command kann eine Liste aller Cmdlets ausgegeben werden. Dank der strikten und exakt definierten Syntax und sauberer Namenskonventionen der Cmdlets sind Skripte und Befehle recht gut lesbar und gut strukturiert.

Das Konzept der Pipelines in der PowerShell

Die PowerShell bietet das aus der Unix-Welt bekannte Konzept der Pipelines. Mit einer Pipeline kann die Ausgabe eines Kommandos (Cmdlets) an ein nächstes übergeben und dort weiterverarbeitet werden. Hierfür ist es erforderlich, die beiden Cmdlets über den Pipe-Operator (das Zeichen "|") miteinander zu verbinden. Beispielsweise ist es mit Pipelining möglich, Dateien eines Verzeichnisses abhängig von ihrer Größe sortiert auszugeben. Die Kommandozeile in der Shell muss hierfür folgendermaßen aussehen:

> Get-ChildItem C:/TEMP -Recurse | Sort-Object Length -Descending | Select-Object Fullname, Length -First 3

In dieser Befehlszeile sind die Cmdlets für das Auslesen des Verzeichnisses (Get-Childitem), das Sortieren des Ergebnisses (Sort-Object) und das Auswählen der ersten drei Dateinamen mit Größenangabe (Select-Object) per Pipe miteinander verbunden. Da die Ausgabe der einzelnen Befehle jeweils objektorientiert und nicht als reiner Daten-String erfolgt, ist die jeweils nachfolgende Verarbeitung durch das nächste Kommando sehr einfach zu realisieren. Im Vergleich zu rein textbasiert arbeitenden Shells entfällt der zusätzliche Aufwand für das Parsen und Manipulieren der Textausgaben.

Die Windows PowerShell ISE als Skripteditor und Debugger der Shell-Umgebung

Mit Windows PowerShell ISE steht neben dem reinen Command Line Interface auch ein leistungsfähiger Skripteditor und Debugger zur Verfügung. Auch Windows PowerShell ISE ist in der Regel im Lieferumfang von Windows enthalten. Die Abkürzung ISE steht für "Integrated Scripting Environment" (integrierte Skript-Umgebung).

Dank des in der Umgebung integrierten Editors vereinfacht sich die Bearbeitung und das Erstellen von Skripten erheblich. Schlüsselwörter werden hervorgehoben und Befehle oder Dateinamen durch Drücken der Tabulatortaste wie im normalen PowerShell-CLI vervollständigt. Neben dem Eingabefenster für die Befehle ist eine ausführliche Befehlsübersicht und -dokumentation in einem zusätzlichen Fenster enthalten. Über die Debug-Funktionen ist es möglich, Haltepunkte zu setzen und Skripte Schritt für Schritt auszuführen und zu analysieren. Auch den Inhalt von Variablen zeigt der Debugger bei Bedarf an. Über so genannte Add-ons kann der ISE fast beliebig erweitert werden.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Azure File Sync – Wissens­wertes und Einrichtung

Lokale Daten mit Microsoft Azure synchronisieren

Azure File Sync – Wissens­wertes und Einrichtung

Mit Azure File Sync können Unternehmen Daten von Dateiservern mit Microsoft Azure synchronisieren, zum Beispiel für das Einrichten einer Storage-Tier-Umgebung. In einer solchen Umgebung werden weniger häufig verwendete Daten in der Cloud zwischengespeichert. lesen

Azure Files – Verwaltete Freigaben in der Cloud

SMB-Zugriffe auf Dateifreigaben in Microsoft Azure

Azure Files – Verwaltete Freigaben in der Cloud

Mit Azure Files lassen sich Dateifreigaben in Microsoft Azure erstellen, auf die Anwender oder auch andere Ressourcen mit SMB zugreifen können. Azure Files benötigt keine virtuellen Server in der Cloud, sondern ist vollständig verwaltet. Die Daten lassen sich in lokale Rechenzentren synchronisieren. lesen

11 Tipps rund um das Windows Admin Center

Besseres Management in Windows-Netzwerken

11 Tipps rund um das Windows Admin Center

Das Windows Admin Center ist das neue Verwaltungswerkzeug von Microsoft zur zentralen Verwaltung von Windows-Servern. Die Lösung ist kostenlos, schnell einsatzbereit und flexibel. Administratoren können darüber mit einem Webbrowser das gesamte Netzwerk verwalten. Wir geben 10 Tipps zum Umgang mit dem nützlichen Tool. lesen

So steuern Sie das Active Directory flexibel

Domänencontroller unter Windows Server 2016/2019 herauf- und herabstufen

So steuern Sie das Active Directory flexibel

Active-Directory-Domänencontroller können flexibel zu einem Mitgliedsserver herabgestuft und Mitgliedsserver problemlos zu einem Domänencontroller heraufgestuft werden. Die einzelnen Rollen lassen sich dabei zwischen Servern übertragen. Wir zeigen, wann dies sinnvoll ist und erläutern die Vorgehensweisen. lesen

Software Management Automation mit Chocolatey

Das kann der Package Manager für Windows

Software Management Automation mit Chocolatey

Die kostenlose Software Chocolatey kann Anwendungen in Form von Packages auf Rechnern installieren. Die Entwickler stellen dazu zahlreiche verschiedene Pakete bereit. Insgesamt lassen sich so fast 6.000 Anwendungen weitgehend automatisiert über die PowerShell oder die grafische Oberfläche auf Clients und Servern bereitstellen und aktuell halten. lesen

So stellen Sie Dateiserver hochverfügbar bereit

DFS, Cluster, SOFS, Storage Spaces Direct und Replikation

So stellen Sie Dateiserver hochverfügbar bereit

Microsoft bietet auf Windows-Servern verschiedene Möglichkeiten, um Dateiserver hochverfügbar zu betreiben. Wir zeigen in diesem Beitrag die Möglichkeiten am Beispiel von Windows Server 2019. Vieles lässt sich aber auch mit Windows Server 2016 umsetzen – auch für kleinere Netzwerke. lesen

In 15 Schritten zum perfekten Domänencontroller

Wege zum stabilen und schnellen Active Directory

In 15 Schritten zum perfekten Domänencontroller

Active Directory ist in Windows-Netzwerken essentielle Grundlage für einen stabilen Betrieb. Damit das AD optimal funktioniert, sollten Administratoren bei der Installation der Domäne und der Domänencontroller besonders umsichtig vorgehen. Wir zeigen die 15 wichtigsten Schritte beim Installieren neuer Domänencontroller auf Basis von Windows Server 2012 R2, Server 2016 und der neuen Version Server 2019. lesen

Netzwerke und Rechner kostenlos im Griff behalten

Client- und Update-Management mit Freeware und Opensource Software

Netzwerke und Rechner kostenlos im Griff behalten

Auch in kleinen Netzwerken muss sichergestellt sein, dass die angebundenen Arbeitsstationen erfasst und Updates für Windows automatisch installiert werden. Wir zeigen die Möglichkeiten solcher Client- und Management-Systeme mit Opensource-Software. lesen

10 Tipps für den Netzwerk-Betrieb von Windows 10

Windows-10-Clients im Netzwerk – das müssen Sie wissen!

10 Tipps für den Netzwerk-Betrieb von Windows 10

Windows 10 spielt seine Stärken auch im Netzwerk-Betrieb aus. Mit dem einen oder anderen Trick aus dem Bordmittel-Werkzeugkoffer von Windows 10, lassen sich Windows 10-Arbeitsstationen effizienter und sicherer im Netzwerk betreiben. Wir zeigen 10 schnell umsetzbare Praxistipps zum Betrieb von Windows 10 im Netzwerk. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44959925 / Definitionen)