Flickr Photogallery

Subscribe Newsletter

subscribe with FeedBurner

PowerShell - Eine Definition

  • 10. April 2019 at 23:28

Definition – Was ist PowerShell?

PowerShell ist ein automatisiertes Task-Framework von Microsoft mit einer Kommandozeilen-Shell und einer in das .NET-Framework integrierten Skriptsprache, die in andere Anwendungen eingebettet werden kann. Es automatisiert die Stapelverarbeitung und erstellt Systemmanagement-Tools. Es enthält mehr als 130 Standard-Befehlszeilen-Tools für Funktionen und ermöglicht es Administratoren, Aufgaben auf lokalen und entfernten Windows-Systemen durch Zugriff auf Component Object Model (COM) und Windows Management Instrumentation (WMI) auszuführen.

Powershell logo

Windows PowerShell führt vier Arten von Befehlen aus:

  • Cmdlets
  • PowerShell-Funktionen
  • PowerShell-Skripte
  • Ausführbare Programme

PowerShell automatisiert Aufgaben mithilfe von Cmdlets. Dies sind.NET Application Programming Interface (API)-Klassen, die als Systembefehle erscheinen und spezifische Funktionen implementieren. Sie sind die nativen Befehle in PowerShell und verarbeiten Objekte einzeln. Sie werden als Empfänger in einer Pipeline verwendet und empfangen und geben Ergebnisse als Objekte aus. Cmdlets auf jedem Objekt in einer Sammlung werden von PowerShell in einer Sequenz aufgerufen. Sie stammen aus den Basisklassen Cmdlet oder PsCmdlet. Wenn ein Cmdlet ausgeführt wird, werden die Methoden ProcessRecord, BeginProcessing und EndProcessing aufgerufen. Das Cmdlet zur Implementierung der Klasse enthält ein .NET-Attribut und das Cmdlet-Attribut, das den Namen des Cmdlets angibt.  Cmdlets verwenden .NET-Datenzugriffs-APIs direkt oder können die Power-Shell-Infrastruktur nutzen, um den Datenspeicher über bestimmte Pfade verfügbar zu machen.

PowerShell verfügt über eine interaktive Befehlszeilenschnittstelle.

PowerShell ermöglicht es dem Benutzer, Aliase für Cmdlets zu erstellen, die von PowerShell in die ursprünglichen Befehle umgewandelt werden.

Die Pipeline ist ein wichtiges Konzept in PowerShell.  Die Ausgabe eines Befehls wird mit einem |-Operator an einen anderen Befehl übergeben.  Im Gegensatz zum Unix-Pipelining sind die übergebenen Befehle typisierte Objekte mit konsistenter Schnittstelle, die ihre Struktur während des Prozesses beibehalten und kein zusätzliches Parsen erfordern.  Diese Objekte kapseln Funktionen, die an enthaltenen Daten arbeiten.  Das Ausgabeobjekt des letzten Cmdlets wird an ein Out-Default Cmdlet weitergeleitet, das das Objekt in einen Strom von Formatobjekten konvertiert und auf dem Bildschirm wiedergibt.

Microsoft hat PowerShell 2 veröffentlicht, das standardmäßig unter Windows 7 und Windows Server 2008 R2 installiert ist.  PowerShell V2 enthält etwa 240 Cmdlets und enthält Änderungen in der Skriptsprache und der Hosting-API.  Neue Funktionen, die in PowerShell V2 hinzugefügt wurden, sind:

  • Datensprache: Dies ist eine Teilmenge der PowerShell-Skriptsprache. Es ermöglicht die Trennung von Datendefinitionen von den Skripten und den Import von Zeichenkettenressourcen in das Skript zur Laufzeit.
  • PowerShell Remoting: Dadurch werden Cmdlets und Skripte auf Remote-Computern mit Workstation-Verwaltung aufgerufen.
  • Skript-Debugging: Dies ermöglicht Haltepunkte an Skripten und Funktionen zum einfachen Auffinden von Befehlen.
  • Hintergrundjobs: Dadurch werden asynchron Befehlssequenzen aufgerufen.
  • Netzwerk-Dateiübertragung: Asynchrone Übertragung von Dateien zwischen Maschinen.
  • Module: Diese organisieren und partitionieren Skripte in wiederverwendbare Einheiten.
  • Transaktion: Dabei handelt es sich um Transaktions-Cmdlets zum Starten, Bestätigen und Zurücksetzen von Transaktionen.
  • Scriptcmdlets: Dies sind Cmdlets, die mit der PowerShell Scripting Language erstellt wurden.
  • Vielseitigkeit: Diese hört zu, geht vorwärts und wirkt auf Systemereignisse ein.
  • Integrierte Skripting-Umgebung: Dies ermöglicht die Ausführung nur ausgewählter Teile des Skripts und bietet eine GUI-basierte PowerShell mit Syntaxhervorhebung, integriertem Debugger und Tabulatorvervollständigung.