PowerShell

PowerShell

Copyright © Shutterstock / Trismegist san

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