Windows PowerShell
In der modernen Welt streben alle nach Automatisierung. Das Automatisieren von alltäglichen Aufgaben steigert die Effizienz und kann Fehler vermeiden, die durch wiederkehrende monotone Arbeit verursacht werden. Mit PowerShell können solche alltäglichen Aufgaben automatisiert werden.
PowerShell ist der aktuelle Kommandozeileninterpreter von Microsoft und löst seine Vorgänger - die Eingabeaufforderung, Windows Batch sowie VBScript großteils ab.
Die Syntax von PowerShell erinnert an die der Unix Shell. PowerShell arbeitet mit Pipes und Filtern, ist objektorientiert und ist neben der eigentlichen Konsole eine plattformübergreifende Scriptsprache mit deren Hilfe Systeme verwaltet, konfiguriert oder Aufgaben automatisiert werden können.
Aktuelle PowerShell Version: 7.3.2 (gefunden: 24.01.2023)

PowerShell Grundlagen
Windows PowerShell ist vereinfacht beschrieben ein Eingabefenster in dem per Texteingabe bestimmte Befehle ausgeführt werden können. Zudem können mehrere Befehle oder Abläufe über eine Textdatei gestartet werden: Powershell-Skript. PowerShell gilt als Nachfolger der Eingabeaufforderung und somit von Windows Batch. Skripts die ursprünglich in VBScript geschrieben wurden werden heute meist in PowerShell umgesetzt. ... weiterlesen

PowerShell Help
Der wohl wichtigste PowerShell-Befehl ist Get-Help. Mit Get-Help kann die integrierte PowerShell-Hilfe aufgerufen werden, sie gibt einen Überblick über die Funktion der einzelnen Befehle und deren Anwendung, bis hin zu konkreten Beispielen. ... weiterlesen

PowerShell Version anzeigen: get-host
Die PowerShell Version kann mit dem Befehl get-host angezeigt werden. ... weiterlesen

Powershell Befehle in der Konsole
Zu Beginn muss für PowerShell nicht immer gleich ein Skript geschrieben werden. Gerade für Administratoren bietet die PowerShell-Konsole eine Möglichkeit bestimmte Tasks über Befehle auszuführen. ... weiterlesen

Windows PowerShell Skript erstellen und ausführen
Im einfachsten Fall ist ein PowerShell-Skript eine Textdatei mit einer Reihe von PowerShell-Befehlen. Als PowerShell Skript versteht man eine Datei mit der Endung .ps1. Die Skriptdatei kann eine Sammlung von Befehlen, Funktionen oder Cmdlets enthalten. ... weiterlesen

PowerShell Editoren im Vergleich: ISE, Visual Studio Code
Die Wahl des richtigen Editors kann die Entwicklung maßgeblich vereinfachen, auch wenn PowerShell-Scripts theoretisch in einem beliebigen Text-Editor erstellt werden können. Die Vorteile eines für PowerShell optimierten Editors sind neben Syntax-Highlighting, Autovervollständigung und Code-Snippets zum Beispiel ein Debugging-Modus welcher das Skript zeilenweise durchlaufen und bestimmte Bereiche analysieren kann. Der Standard PowerShell-Editor war lange Zeit die in Windows i... ... weiterlesen

wie erstelle ich einen eigenen PowerShell Befehl: Cmdlet
Befehle in Powershell nennen sich Cmdlets und sind Funktionen an die bestimmte Variablen übergeben werden können. Die Funktion führt dann bestimmte Aufgaben aus und übergibt das Ergebnis mittels "return" an die Konsole. ... weiterlesen

PowerShell - Best Practice - bessere Skripts erstellen
PowerShell bietet relativ viel Freiraum in der Gestaltung der Skripts. Um Skripts leserlich und verständlich zu schreiben, ist es von Vorteil, wenn bestimmte Regeln eingehalten werden. In PowerShell können für die Erklärung des Codes Kommentare eingefügt werden, bzw. können im Header eines cmdlets Informationen zum Skript und eine Hilfe hinterlegt und die möglichen Parameter dokumentiert werden. Das Ziel sollte sein, dass der Code möglichst selbsterklä... ... weiterlesen

PowerShell Cmdlet Hilfe
Die Hilfe in einem selbst erstellten Cmdlet ist ein einfacher Kommentarblock am Beginn einer Funktion, bzw. am Anfang einer PowerShell Skript-Datei. ... weiterlesen

PowerShell Übergabe von Variablen (Param)
Zu Beginn eines PowerShell Scripts können Parameter in der Funktion Param() definiert werden. ... weiterlesen

PowerShell Variablen, Datentypen und Objekte
Grundlagen zu PowerShell Variablen und deren Datentypen. ... weiterlesen

PowerShell String manipulieren: substring etc.
In diesem Artikel zeige ich ein paar Beispiele für das Manipulieren von Strings (Zeichenketten) ... weiterlesen

PowerShell Syntax: vergleichen und verschachteln
PowerShell verwendet für das Vergleichen von Werten sogenannte Vergleichsoperatoren. Mittels Pipes können verschiedene PowerShell-Befehle an weitere Befehle übergeben werden. ... weiterlesen

PowerShell if else und switch
Mit den Befehlen if, elseif, else und switch Bedingungen testen und falls diese zutreffen einen Befehl ausführen: wenn, sonst, ... dann ... weiterlesen

PowerShell Loops und Array
Ein Array speichert mehrere Werte, ähnlich einer 2 spaltigen Tabelle. ... weiterlesen

PowerShell Hashtable
Wer zu einem Array auch bestimmte Werte speichern will, stößt mit Arrays an die Grenzen. Eine Hashtable ist ähnlich einem Array, speichert aber für jeden Eintrag einen Wert. (ähnlich dem vbscript: Dictionary) ... weiterlesen

PowerShell Textdatei und csv lesen / schreiben
Dieser Artikel ist eine Zusammenfassung von Beispielen für das Erstellen und Auslesen von Text und CSV Dateien in PowerShell. ... weiterlesen

PowerShell Log-Files: Logging in eine Textdatei - write to file
Logfiles in PowerShell können über den Befehl Out-File, über eine eigene Funktion oder über das in PowerShell integrierte Transcript erstellt werden. ... weiterlesen

PowerShell Drives
Mit den Powershell Drives gibt es einen einheitlichen Weg um auf Daten, ähnlich einem Dateisystem, zuzugreifen. Zum Beispiel kann der Inhalt der Registrierung gleich wie der eines Laufwerks angezeigt werden. ... weiterlesen

PowerShell eigene Objekte
PowerShell Cmdlets erzeugen sehr oft ein Objekt oder ein Object-Array (mehrere Objekte in einem Array). In diesem Beitrag zeige ich, wie Objekte selbst erstellt und Eigenschaften hinzugefügt werden können. ... weiterlesen

Powershell ISE - Snippet
Snippet sind Skriptvorlagen. Beispielsweise eine "do-until"- oder "for"- Schleife oder eine Vorlage für ein Cmdlet. Durch Auswahl eines Snippet wird der Beispielcode in den Editor eingefügt. ... weiterlesen

PowerShell: Cmdlet (erweiterte Funktion)
In PowerShell ISE kann mit Strg+J eine Vorlage für ein PowerShell Cmdlet eingefügt werden. Die Vorlage erweitert das Skript um Elemente für die Dokumentation und gibt damit der integrierten PowerShell-Hilfe alle notwendigen Informationen für das Cmdlet: "get-help". ... weiterlesen

PowerShell Repository
PowerShell kann über Remote-Repositories bestimme Module nachinstallieren, z.B. von www.powershellgallery.com ... weiterlesen

PowerShell o365
Mit PowerShell Daten aus Office 365 auszuwerten oder bestimmte Tasks automatisieren ... weiterlesen
PowerShell Aufruf von einer Batch-Datei cmd - Errorlevel
Der Aufruf eines PowerShell-Skripts aus der Eingabeaufforderung: cmd oder über eine Batch-Datei kann über die powershell.exe erfolgen. Sollten mehrere PowerShell-Scripts gestartet werden, kann der Exitcode / das ErrorLevel pro Zeile behandelt werden. In der Batch-Datei wird dafür die Variable %errorlevel% verwendet. %errorlevel% enthält den Returncode der zuletzt ausgeführten Zeile: ... weiterlesen

PowerShell regex - Einführung und Beispiele
Regex kann in den meisten Skriptsprachen nahezu gleich verwendet werden, daher habe ich die Grundbegriffe und Funktionsweise in einem gesonderten Beitrag zusammengefasst, siehe Regex - Überblick. Dieser Beitrag beinhaltet Spezialiäten bei der Verwendung von Regex in PowerShell, sowie die Beispiele des Regex - Grundlagen Artikels. Powershell: verschiedene Regex-Varianten PowerShell verfügt über eigene Regex-Operatoren, als Beispiel: -match oder -replace. Nachdem Po... ... weiterlesen

Regex, Überblick, Begriffe, Parameter, Grundlagen und Beispiele
Regex ist eine universelle Beschreibungssyntax um bestimmte Teile aus Zeichenketten zu prüfen oder zu filtern. Als Beispiel könnten mit Regex sehr einfach alle <h1>-Überschriften aus einem HTML-Quellcode herausgefiltert werden. Angefangen mit PHP, habe ich Regex später auch in PowerShell und JavaScript eingesetzt. Zugegeben, anfangs habe ich Beispiele aus dem Internet für meine Einsatzzwecke angepasst und diese nur teilweise verstanden, zumal die Regex-Syntax doch... ... weiterlesen

PowerShell: Bildschirmschoner verhindern: Maus regelmäßig bewegen
Wer die Einstellungen für die Bildschirmsperre nicht ändern kann, kann alternativ regelmäßig die Maus bewegen, oder die Maus von einem Script bewegen lassen. Ursprünglich als AutoIt-Script veröffentlicht, habe ich das Script mit ein paar PowerShell-Zeilen nachgebaut. Wer die folgenden Befehle in eine PowerShell-Sitzung kopiert, verhindert, dass sich der Computer sperrt: ... weiterlesen
MD5-Hash eines Strings erzeugen
In PowerShell ist es mit Hilfe einer kleinen Funktion möglich, aus einem String einen MD5-Hash zu generieren. ... weiterlesen
PowerShell Invoke-webrequest
Invoke-Webrequest kann für den Zugriff auf eine SOAP oder REST-Schnittstelle verwendet werden ... weiterlesen

PowerShell - Umgang mit Passwörtern
Passwörter sollten natürlich niemals im Klartext in einer Skriptdatei hinterlegt werden. PowerShell bietet Möglichkeiten für einen sicheren Umgang mit Passwörtern. Als Beispiel kann ein Passwort für einen bestimmten Benutzer verschlüsselt als Textdatei gespeichert werden. Nur der jeweilige Benutzer kann die Datei entschlüsseln, für andere Benutzer ist die Datei wertlos. ... weiterlesen

PowerShell Errorhandling: Write-Debug DebugPreference
Damit die Fehlersuche in PowerShell einfacher wird, können bei Bedarf zusätzliche Debug-Ausgaben in das Skript eingebaut werden. ... weiterlesen

Windows PowerShell Befehle: commands im Überblick
die verfügbaren PowerShell Befehle können mit dem Befehl: ... weiterlesen