Grundlegendes zu Windows PowerShell
Bei PowerShell handelt es sich um eine Automatisierungslösung, die aus einer Befehlszeilenshell, einer Skriptsprache und einem Konfigurationsverwaltungs-Framework besteht.
Befehlszeilenshell
Die Windows-Befehlszeilenschnittstelle (cmd.exe) wurde von Windows PowerShell abgelöst. Somit ist auch die eingeschränkte Funktionalität der Skriptsprache für Batchdateien hinfällig. In PowerShell können .NET-Objekte verwendet werden. Diese werden auch zurückgegeben. PowerShell umfasst Folgendes:
- Befehlszeilenverlauf
- Vervollständigung mit TAB-Taste und Befehlsvorhersage
- Unterstützung für Befehls- und Parameteraliasnamen
- Verketten von Befehlen, bei denen das Pipelinefeature verwendet wird
- Robustes konsoleninternes Hilfesystem
Ursprünglich war Windows PowerShell eine Plattform, die auf dem .NET Framework aufbaute und nur auf Windows-Betriebssystemen funktionierte. Bei den neuesten Versionen verwendet PowerShell jedoch .NET Core und kann auf Windows-, macOS- und Linux-Plattformen ausgeführt werden. Da diese neueren Versionen mehrerer Plattformen unterstützen, werden sie als PowerShell (und nicht als Windows PowerShell) bezeichnet.
Eine Skriptsprache
Befehle stellen die Hauptfunktionalität von PowerShell dar. Es gibt viele Arten von Befehlen, darunter Cmdlets (ausgesprochen Commandlets), Funktionen, Filter, Skripts, Anwendungen, Konfigurationen und Workflows. Befehle sind Bausteine, die Sie mithilfe der Skriptsprache von Windows PowerShell kombinieren können. Mithilfe von Befehlen können Sie für komplexe administrative Probleme benutzerdefinierte Lösungen erstellen. Alternativ können Sie Befehle auch direkt in der PowerShell-Konsole ausführen, um eine einzelne Aufgabe zu erledigen. Die Konsole ist die Befehlszeilenschnittstelle (Command Line Interface, CLI) für PowerShell und der wichtigste Ort für die Interaktion mit PowerShell.
Für Cmdlets wird eine Verb-Substantiv-Namenskonvention verwendet. Mit dem Cmdlet Get-Command können Sie beispielsweise alle Cmdlets und Funktionen abrufen, die in der Befehlsshell registriert sind. Das Verb gibt die Aktion an, die das Cmdlet ausführt, und das Substantiv die Ressource, für die das Cmdlet die Aktion ausführt.
Serveranwendungen und Clouddienste von Microsoft bieten spezielle Cmdlets, mit denen diese Dienste verwaltet werden können. Tatsächlich lassen sich einige Features nur mithilfe von PowerShell verwalten. Auch wenn eine Anwendung eine grafische Benutzeroberfläche (GUI) zur Verwaltung einer bestimmten Funktionalität bereitstellt, ist sie bei der Implementierung zumindest einiger Features hinter den Kulissen dennoch häufig auf PowerShell angewiesen.
Framework für die Konfigurationsverwaltung
PowerShell enthält das PowerShell DSC-Verwaltungsframework (Desired State Configuration). Dank diesem Framework können Sie die Unternehmensinfrastruktur mit Code verwalten, was bei Folgendem hilft:
- Verwenden von deklarativen Konfigurationen und wiederholbaren Skripts für wiederholbare Bereitstellungen
- Durchsetzen von Konfigurationseinstellungen und Erkennen, wenn die Konfiguration von den Standardanforderungen abweicht
- Bereitstellen von Konfigurationseinstellungen mithilfe von Push- oder Pullmodellen
Anwendungen und Dienste mit PowerShell-basierten Verwaltungsfunktionen sind in ihrer Funktionsweise konsistent. Dank dieser Eigenschaft können Sie Gelerntes schnell anwenden. Wenn Sie Automatisierungsskripts zum Verwalten einer Softwareanwendung verwenden, können Sie diese auch bei anderen Anwendungen wiederverwenden.
Versionen von Windows PowerShell
Wenn Sie sich mit PowerShell vertraut machen, ist es wichtig, die verschiedenen Versionen zu kennen, die je nach Betriebssystemtyp und Edition verwendet werden. Im Wesentlichen gibt es zwei PowerShell-Plattformen:
- Windows PowerShell
- PowerShell (ursprünglich als PowerShell Core bezeichnet)
Windows PowerShell
Windows PowerShell ist nur für das Windows-Betriebssystem verfügbar. Windows PowerShell 1.0 wurde 2006 als Komponente eingeführt, die unter Windows XP Service Pack 2 (SP2), Windows Server 2003 SP1 und Windows Vista installiert werden kann. Zudem war sie als optionale Komponente von Windows Server 2008 verfügbar. 2009 wurde PowerShell 2.0 in Windows 7 und Windows Server 2008 R2 integriert. Alle Versionen von Windows PowerShell bis einschließlich Version 5.1, die in Windows 10 verfügbar ist, sind in einem Windows-Betriebssystem integriert.
Windows PowerShell ist eine Betriebssystemkomponente und unterliegt daher denselben Lebenszyklussupport- und Lizenzvereinbarungen wie das übergeordnete Betriebssystem.
PowerShell
PowerShell wird getrennt von Windows PowerShell ausgeliefert, installiert und konfiguriert. PowerShell wurde 2018 erstmals als PowerShell Core 6.0 veröffentlicht. Dies war die erste Version, die mehrere Plattformen unterstützte und auch für macOS- und Linux-Betriebssysteme verfügbar war.
Hinweis
Die neueste Version von PowerShell ist PowerShell 7.5, verfügbar über Microsoft Update.
PowerShell und Windows PowerShell werden separat installiert. Unterstützte Befehle können in beiden Umgebungen ausgeführt werden.
In den Windows-Standardlizenzverträgen ist PowerShell nicht enthalten. Stattdessen wird PowerShell im Rahmen des kostenpflichtigen Supports von Microsoft, der Microsoft Enterprise Agreements und der Microsoft Software Assurance unterstützt. Community-Support ist ebenfalls erhältlich.
Versionsverlauf
Die folgende Tabelle enthält eine allgemeine Zeitachse der wichtigsten PowerShell-Versionen:
Tabelle 1: Zeitachse für PowerShell-Versionen
| Version | Veröffentlichungsdatum | Hinweise |
|---|---|---|
| PowerShell 7.5 | Januar 2025 | Basiert auf .NET 9.0. |
| PowerShell 7.4 | November 2023 | Basiert auf .NET 8.0. |
| PowerShell 7.3 | November 2022 | Basiert auf .NET 7.0. |
| PowerShell 7.2 | November 2021 | Basiert auf .NET 6.0 |
| PowerShell 7.1 | November 2020 | Basiert auf .NET 5.0. |
| PowerShell 7.0 | März 2020 | Basiert auf .NET Core 3.1 |
| PowerShell 6.0 | September 2018 | Basiert auf .NET Core 2.0. Erste Version, die unter Windows, Linux und macOS installiert werden kann. |
| PowerShell 5.1 | August 2016 | Veröffentlicht im Windows 10 Anniversary Update und in Windows Server 2016 und als Teil von Windows Management Framework (WMF) 5.1 |
| PowerShell 5.0 | Februar 2016 | Integriert in Windows 10 Version 1511. Veröffentlicht in Windows Management Framework 5.0 (WMF) Kann unter Windows Server 2008 R2, Windows Server 2012, Windows 10, Windows 8.1 Enterprise, Windows 8.1 Pro und Windows 7 SP1 installiert werden. |
| PowerShell 4.0 | Oktober 2013 | Integriert in Windows 8.1 und Windows Server 2012 R2. Kann unter Windows 7 SP1, Windows Server 2008 SP1 und Windows Server 2012 installiert werden. |
| PowerShell 3.0 | Oktober 2012 | Integriert in Windows 8 und Windows Server 2012. Kann unter Windows 7 SP1, Windows Server 2008 SP1 und Windows Server 2008 R2 SP1 installiert werden. |
| PowerShell 2.0 | Juli 2009 | Integriert in Windows 7 und Windows Server 2008 R2. Kann unter Windows XP SP3, Windows Server 2003 SP2 und Windows Vista SP1 installiert werden. |
| PowerShell 1.0 | November 2006 | Kann unter Windows XP SP2, Windows Server 2003 SP1 und Windows Vista installiert werden. Optionale Komponente von Windows Server 2008. |
Hinweis
In diesem Modul beziehen sich Themen auf die neuesten Versionen von Windows PowerShell und PowerShell (5.1 und 7.5). Die meisten Cmdlets funktionieren mit einer der beiden Plattformen. Wenn nur ein bestimmtes Feature unterstützt wird oder wenn sich ein Thema nur auf eine bestimmte Plattform bezieht, wird ein entsprechender Hinweis gegeben.
Weiterführende Lektüre: Zur Unterstützung neuerer Versionen von PowerShell unter älteren Betriebssystemen müssen Sie möglicherweise die neueste Version von Windows Management Framework installieren. Weitere Informationen finden Sie unter Installieren und Konfigurieren von WMF 5.1.