PowerShell

Was ist PowerShell?

PowerShell ist ein automatisiertes Framework von Microsoft mit einer Befehlszeilenshell und einer in das .NET Framework integrierten Skriptsprache, die in andere Anwendungen eingebettet werden kann. Mit PowerShell k├Ânnen die Stapelverarbeitungen automatisiert und Systemverwaltungstools erstellt werden. Das Framework enth├Ąlt mehr als 130 Standard-Befehlszeilentools f├╝r Funktionen und erm├Âglicht es Administratoren, Aufgaben auf lokalen und Remote-Windows-Systemen durch Zugriff auf COM (Component Object Model) und Windows Management Instrumentation (WMI) auszuf├╝hren. Microsoft hat das Framework entwickelt, um IT-Experten dabei zu helfen, Systeme zu konfigurieren und administrative Aufgaben zu automatisieren.

Die Geschichte der PowerShell

Die Entwicklung von PowerShell geht auf den Microsoft-Techniker Jeffrey Snover zur├╝ck. Bevor Snover 1999 zu Microsoft wechselte, arbeitete er bei der Digital Equipment Corp. (DEC) an Systemverwaltungsaufgaben unter Windows. Snover hatte nach eigener Aussage bei diesen Arbeiten immer das Gef├╝hl, dass Windows die Flexibilit├Ąt zur Automatisierung von unter Unix verf├╝gbaren Aufgaben fehlte. Zu dieser Zeit hatte jedes Microsoft-Betriebssystem – beginnend mit DOS – eine Befehlszeilenschnittstelle, aber es wurden immer nur grundlegende Befehle unterst├╝tzt. Die Schnittstellen waren nicht robust genug, um alle Facetten der GUI-Funktionalit├Ąt handhaben zu k├Ânnen.

Microsoft hatte zwar im Jahr 1998 den Windows Script Host zusammen mit Windows 98 ver├Âffentlicht. Der Befehlszeilen-Host cscript.exe erm├Âglichte das Schreiben von Skripten in VBScript oder JavaScript. Aber cscript.exe war nicht in die Shell integriert und das Schreiben von Code in VBScript war f├╝r Entwickler eine Herausforderung.

Snover entwickelte die Idee, eine standardisierte Plattform zu schaffen, die das .NET-Framework durch Objekte und Automatisierungsaufgaben nutzte. Microsoft hat in der Folge auf der Basis von Snovers Idee eine neue Befehlszeilenschnittstelle zusammen mit einer Shell namens Monad erstellt. Die erste Beta-Version von Monad wurde von Microsoft im Juni 2005 ver├Âffentlicht, gefolgt von einer zweiten und dritten Beta-Version im September 2005 und Januar 2006. Am 25. April 2006 wurde Monad schlie├člich in Windows PowerShell umbenannt und zu einem Kernst├╝ck des Windows-Betriebssystems gemacht.

PowerShell 1.0 wurde im November 2006 von Microsoft f├╝r Windows XP SP2, Windows Vista und Windows Server 2003 SP1 ver├Âffentlicht. F├╝r den Windows Server 2008 bot Microsoft PowerShell als optionale Komponente an. Version 2.0 wurde zusammen mit Windows 7 und Windows Server 2008 R2 ver├Âffentlicht. Windows PowerShell 5.0 ist die neueste Version, die standardm├Ą├čig in Windows Server 2016 und Windows 10 installiert wird. Bei Windows 8.1-Betriebssystemen ist die Version 4.0 standardm├Ą├čig installiert.

Windows PowerShell 5.0 ist kompatibel mit Windows 7 SP1, Windows Server 2008 R2 SP1, Windows Server 2012 und Windows Server 2012 R2. Diese Systeme ben├Âtigen jedoch das Windows Management Framework 5.0, das zum Ausf├╝hren von PowerShell 5.0 installiert werden muss. Zus├Ątzlich wird f├╝r Version 5.0 eine vollst├Ąndige Installation von Microsoft .NET Framework 4.5. ben├Âtigt.

Wichtige PowerShell Funktionen

PowerShell ist eine objektorientierte Automatisierungs-Engine und Skriptsprache mit einer interaktiven Befehlszeilen-Shell, um Systemaufgaben wie die Batch-Verarbeitung zu automatisieren und Systemverwaltungstools f├╝r h├Ąufig implementierte Prozesse zu erstellen. Die Sprache ├Ąhnelt Perl. PowerShell basiert auf dem .NET Framework und bietet mehrere M├Âglichkeiten zur Automatisierung von Aufgaben: Cmdlets, Skripts, die Kombinationen von Cmdlets und zugeh├Âriger Logik sind, ausf├╝hrbare Dateien, die eigenst├Ąndige Tools sind und die Instanziierung von Standard-.NET-Klassen.

Cmdlets

Cmdlets sind sehr kleine .NET-Klassen, die als Systembefehle angezeigt werden. Ein Cmdlet f├╝hrt eine einzelne Funktion aus und ist das h├Ąufigste Element f├╝r die Automatisierung. Ein Cmdlet wird im Allgemeinen in einer Sprache wie C # geschrieben und kompiliert. Wie alle anderen Befehle f├╝hrt ein Cmdlet eine Aktion durch und gibt ein .NET-Objekt zur├╝ck. Jedes Cmdlet ist einem Hilfeinhalt zugeordnet, der die Details des Cmdlets enth├Ąlt wie zum Beispiel eine Beschreibung, die Befehlssyntax, Beschreibung der Parameter und ein Beispiel. PowerShell enth├Ąlt mehr als 200 grundlegende Cmdlets.

PowerShell-Module

Module erm├Âglichen Administratoren die Wiederverwendung eines Skripts zur Automatisierung einer Aufgabe. Ein Modul kann als eine Reihe von Funktionen definiert werden die gruppiert sind, um alle Aspekte eines bestimmten Bereichs zu verwalten. Mit den Modulen k├Ânnen Administratoren Codes referenzieren, laden, beibehalten und teilen. Ein PowerShell-Modul kann einer von vier Typen sein:

Ein Sktriptmodul ist eine PSM1-Datei, die verschiedene Funktionen enth├Ąlt, mit denen Administratoren Import-, Export- und Verwaltungsfunktionen ausf├╝hren k├Ânnen.
Ein bin├Ąres Modul ist ein NET-Framework-Assembly (DLL-Datei), die kompilierten Code enth├Ąlt. Normalerweise verwenden Entwickler ein Bin├Ąrmodul, um Cmdlets mit leistungsstarken Funktionen zu erstellen, die mit einem Skript nicht einfach auszuf├╝hren sind.
Ein Manifestmodul ist eine Moduldatei (PSM1) mit einer zugeh├Ârigen PSD1-Datei (Manifest).
Ein Manifestmodul ist eine Moduldatei (PSM1) mit einer zugeh├Ârigen PSD1-Datei (Manifest).

Funktionen in Power Shell

Eine Funktion ├Ąhnelt einem Cmdlet mit einigen geringf├╝gigen Unterschieden. Cmdlets werden in einer kompilierten .NET-Sprache wie C # geschrieben, w├Ąhrend Funktionen in PowerShell geschrieben und nicht kompiliert werden. F├╝r Entwickler und unabh├Ąngige Softwarehersteller ist es einfacher, ein Cmdlet zu packen und bereitzustellen, als dies mit den Paketbibliotheken von Funktionen m├Âglich ist.

Desired State Configuration (DSC)

Mit der Version 4.0 hat Microsoft ein Feature namens Desired State Configuration (DSC) eingef├╝hrt, mit dem Administratoren jetzt eine bestimmte Konfiguration f├╝r einen Server festlegen k├Ânnen. Nachdem der Administrator die Servereinstellungen definiert hat, stellt Power Shell sicher, dass die Zielknoten den gew├╝nschten Status beibehalten. DSC hat zwei Betriebsmodi: Push-Modus und Pull-Modus.

Im Push-Modus sendet ein Server Benachrichtigungen an die Knoten. Es handelt sich um eine unidirektionale Kommunikation, bei der der Administrator Benachrichtigungen von einer Workstation sendet. Die Setup-Kosten sind hierbei geringer, da das Management von einem Ger├Ąt ausgef├╝hrt wird. Benachrichtigungen k├Ânnen allerdings verloren gehen, wenn ein Ger├Ąt nicht mit dem Netzwerk verbunden ist.

Im Push-Modus erstellt die IT-Abteilung einen Pull-Server mit den Konfigurationsdetails jedes Knotens unter Verwendung einer MOF-Datei. Jeder Knoten kontaktiert den Pull-Server, um nach einer neuen Konfiguration zu suchen. Wenn die neue Konfiguration verf├╝gbar ist, sendet der Pull-Server die Konfiguration an den Knoten. Administratoren k├Ânnen alle Ger├Ąte unabh├Ąngig von ihrer Netzwerkverbindung verwalten. Wenn ein Ger├Ąt eine Verbindung mit dem Netzwerk herstellt, kontaktiert es automatisch den Pull-Server, um nach einer neuen Konfiguration zu suchen.

PowerShell DSC-Ressourcen

DSC-Ressourcen sind die Komponenten eines Konfigurationsskripts. Administratoren k├Ânnen die verf├╝gbaren DSC-Ressourcen auf einem Computer mit dem Befehl Get-DscResource ├╝berpr├╝fen. Der Befehl Get-DscResource ruft die verf├╝gbaren Ressourcen f├╝r den gew├╝nschten Status auf einem Computer ab.

Administratoren verwenden diese Ressourcen, um Komponenten wie Registrierungsschl├╝ssel und Windows-Dienste zu konfigurieren oder lokale Benutzer ├╝ber ein Konfigurationsskript zu erstellen und zu verwalten. Beispielsweise verwaltet die Dateiressource Dateien und Ordner, die Umgebungsressource verwaltet Umgebungsvariablen und die Registrierungsressource verwaltet die Registrierungsschl├╝ssel eines Knotens.

PowerShell wird von Microsoft kontinuierlich mit neuen Funktionen erweitert und ist nach wie vor eine der Kernkomponenten in jedem Windows Betriebssystem.

Tipp

Wenn Sie noch Fragen bez├╝glich eines Online Marketing Themas haben, dann k├Ânnen Sie gerne unseren Glossar besuchen und sich ├╝ber das Thema informieren, wo Sie noch speziell Fragen haben.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte