PowerShell

Aus FLBK-Wiki
Version vom 3. September 2025, 10:47 Uhr von Flbkwikiadmin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „'''PowerShell''' ist ein plattformübergreifendes Framework von Microsoft, zur Automatisierung, Konfiguration und Verwaltung von Systemen, das einen Kommandozeileninterpreter inklusive Skriptsprache bietet. Es ersetzt unter Windows die klassische Kommandzeile (cmd) und ist seit Windows 7 sowie Windows Server 2008 R2 verfügbar. PowerShell ist eine Shell (Hülle), also eine Software mittels derer ein Benutzer mit dem Betriebssystem (Kern) interagiert. ==…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

PowerShell ist ein plattformübergreifendes Framework von Microsoft, zur Automatisierung, Konfiguration und Verwaltung von Systemen, das einen Kommandozeileninterpreter inklusive Skriptsprache bietet. Es ersetzt unter Windows die klassische Kommandzeile (cmd) und ist seit Windows 7 sowie Windows Server 2008 R2 verfügbar. PowerShell ist eine Shell (Hülle), also eine Software mittels derer ein Benutzer mit dem Betriebssystem (Kern) interagiert.

Funktionen

PowerShell bietet insbesondere Cmdlets (Commandlets). Dies sind einfache PowerShell-Befehle. Neue Cmdlets lassen sich mit Modulen nachinstallieren. Zusätzlich bietet PowerShell Alias, welches Befehle sind, die auf Cmdlets verweisen und Funktionen, welche PowerShell-Skripte sind.

Variablen

Variablen werden mit $ gekennzeichnet.

Beispiel:

$MeinName = "Hans"

Eingabe von $MeinName in die Konsole liefert Hans. "Mein Name ist $MeinName" liefert Mein Name ist Hans und 'Mein Name ist $MeinName' liefert Mein Name ist $MeinName.

Pipelineoperator

Befehle können über den Pipelineoperator | verbunden werden. Jeder Pipelineoperator sendet die Ergebnisse des vorherigen Befehls an den nächsten Befehl.

Beispiel:

Get-Process notepad | Stop-Process

Der erste Befehl verwendet das Get-Process-Cmdlet, um ein Objekt abzurufen, das den Editorprozess darstellt. Es verwendet einen Pipelineoperator (|), um das Prozessobjekt an das Stop-Process-Cmdlet zu senden, das den Editorprozess beendet.

Kontrollstrukturen

PowerShell bietet Methoden zum Erstellen von Schleifen, zum Treffen von Entscheidungen und zur logischen Steuerung des Codeflusses. Beispielsweise können switch-case, if-else oder for-Schleifen verwendet werden.

Entwicklungsumgebung

Microsoft bietet Windows PowerShell ISE (Integrated Scripting Environment) als Entwicklungsumgebung an. Im unteren Bereich ist die PowerShell-Konsole, die sich auch separat unter Windows öffnen lässt. Hier können Cmdlets oder Alias direkt eingegeben und ausgeführt werden. Der obere Teil bietet einen Texteditor mit dem Skripte geschrieben und als .ps1-Datei abgespeichert werden können.

Das komplette Skript kann mit dem grünen Pfeil (F5) ausgeführt werden.

Teile des Skriptes können markiert und mit F8 ausgeführt werden.

Auf der rechten Seite ist eine Auflistung aller verfügbaren Befehle mit integrierter Hilfe.

Die verfügbaren Befehle lassen sich auch durch die Eingabe von get-command in der Kommandozeile aufrufen.

Die Eingabe von cls löscht die Inhalte der Konsole.

Skripte ausführen

Abgespeicherte .ps1-Skripte lassen sich mittels Rechtsklick und "Mit PowerShell ausführen" aufrufen. Alternativ kann über die Kommandozeile mit dem Befehl chdir Pfad (z. B. chdir H:) in das Verzeichnis navigiert werden, in dem das Skript abgelegt wurde und it durch Eingabe von .\Skriptname.ps1 ausgeführt werden.

Befehle finden

Befehle können über die integrierte Hilfe in Windows PowerShell ISE oder mit Hilfe der Eingabe von get-command in die Kommandozeile gefunden werden. Durch Eingabe von get-command -Name print in die Kommandozeile werden alle Befehle aufgerufen, die im Namen "print" enthalten. -Name ist dabei ein Positionsparameter und print ist das dazugehörige Argument.

Hilfreiche Cmdlets und Befehle

Befehl Beschreibung

$PSVersionTable Zeigt die PowerShell-Version an - get-command -Name -service Listet alle Kommandos die "-service" enthalten - Dir C:\Windows Zeigt Verzeichnisinhalt an - mkdir c:\Temp Erstellt ein Verzeichnis - rd c:\Temp Entfernt ein Verzeichnis - Get-Process Zeigt laufende Prozesse an (äquivalent zu tasklist.exe) - Get-Service Zeigt alle installierten Dienste und ihren Status an - Get-HotFix Zeigt installierte Updates an - Get-Printer Zeigt Drucker an - Get-NetIPAddress Zeigt IP-Adressen an - Get-AppxPackage Zeigt installierte App-Pakete an - Invoke-WebRequest Führt Webrequests aus - Get-EventLog Zeigt Ereignisprotokolle an - cls Löscht Bildschirminhalte }

Kompatibilität

Die meisten Kommandozeilen-Befehle lassen sich auch direkt in der PowerShell ausführen. Dafür sind meist Aliase (Verweise auf die entsprechenden PowerShell-Befehle) oder Funktionen implementiert, die die Kompatibilität herstellen.

Beispiele:

ls verweist auf Get-ChildItem

man verweist auf die PowerShell-Hilfe

ipconfig /all funktioniert wie in der klassischen cmd

Datenimport und -export

PowerShell unterstützt verschiedene Datenformaten für Import und Export:

 Get-AppxPackage | Export-Csv -Path C:\apps.csv -Delimiter ";" -Encoding UTF8 Import-Csv -Delimiter ";" -Path C:\apps.csv Export-Clixml -Path C:\apps.xml # PowerShell-spezifisches Format ConvertTo-Json | Out-File -FilePath C:\apps.json

Dokumentation

Eine Dokumentation ist über Microsofts Webseite einsehbar.

Weblinks

Vorlage:Offizielle Website – Offizielle Dokumentation

PowerShell auf GitHub

Einzelnachweise

<references />