Sie sind hier: Wissen
Begriff PowerShell
Abkürzung PS
Eintrag zuletzt aktualisiert am 12.01.2025

 Zur Stichwortliste unseres Lexikons

Was ist PowerShell ?

Die PowerShell ist eine .NET-basierte Laufzeitumgebung für kommandozeilenbasierte Befehle und Skripte. Sie wird für die System- und Netzwerkadministration sowie allgemein für Automatisierungsprozesse, z.B. Datenim- und exporte sowie DevOps-Pipelines eingesetzt.

Varianten der PowerShell

PowerShell ist
  • der Kurzname für Windows PowerShell (Versionen 1.0 bis 5.1) und
  • der Kurzname für PowerShell Core (Versionen 6.0 bis 6.2) und
  • offizieller Name der PowerShell (seit Version 7.0

Plattformen

Während die Windows PowerShell nur auf Windows läuft, gibt es die PowerShell Core und die PowerShell ab Version 7.0 auch für Linux und MacOS.

Versionen

  • PowerShell 1.0 ist erschienen am 06.11.2006 (Windows PowerShell 1.0; verfügbar für: Windows XP und höher)
  • PowerShell 2.0 ist erschienen am 22.07.2009 (Windows PowerShell 2.0; verfügbar für: Windows XP und höher)
  • PowerShell 3.0 ist erschienen am 15.08.2012 (Windows PowerShell 3.0; verfügbar für: Windows 7/Windows Server 2008 und höher; enthalten in Windows 8 / Windows Server 2012)
  • PowerShell 4.0 ist erschienen am 09.09.2013 (Windows PowerShell 4.0; verfügbar für: Windows 7/Windows Server 2008 und höher; enthalten in Windows 8.1 / Windows Server 2012 R2)
  • PowerShell 5.0 ist erschienen am 29.07.2015 (Windows PowerShell 5.0; für Windows 10; PowerShell 5.0 für Windows 7 und Windows 8.1: 18.12.2015)
  • PowerShell 5.1 ist erschienen am 26.09.2016 (Windows PowerShell 5.1; in Windows Server 2016; Add-On für Windows 7, Windows 8.1, Windows Server 2008 R2, 2012, 2012 R2)
  • PowerShell Core 6.0 ist erschienen am 20.01.2018 (meldet sich mit PowerShell 6.0)
  • PowerShell Core 6.1 ist erschienen am 13.09.2018 (meldet sich mit PowerShell 6.1)
  • PowerShell Core 6.2 ist erschienen am 28.03.2019 (meldet sich mit PowerShell 6.2)
  • PowerShell 7.0 ist erschienen am 04.03.2020 (meldet sich mit "PowerShell 7.0", basiert auf .NET Core 3.1)
  • PowerShell 7.1 ist erschienen am 11.11.2020 (meldet sich mit "PowerShell 7.1", basiert auf .NET 5.0)
  • PowerShell 7.2 ist erschienen am 08.11.2021 (meldet sich mit "PowerShell 7.2", basiert auf .NET 6.0)
  • PowerShell 7.3 ist erschienen am 08.11.2022 (meldet sich mit "PowerShell 7.3", basiert auf .NET 7.0)
  • PowerShell 7.4 ist erschienen am 16.11.2024 (meldet sich mit "PowerShell 7.4", basiert auf .NET 9.0)
  • PowerShell 7.5 wird erscheinen im Jahr 2025 (meldet sich mit "PowerShell 7.5", basiert auf .NET 10.0)

Kernfunktionen

Die Kernfunktionen der PowerShell sind:
  • Zahlreiche eingebaute Befehle, die "Commandlets" genannt werden.
  • Zugang zu allen Systemobjekten, die durch COM-Bibliotheken, das .NET Framework und die Windows Management Instrumentation (WMI) bereitgestellt werden.
  • Robuster Datenaustausch zwischen Commandlets durch Pipelines basierend auf typisierten Objekten.
  • Ein einheitliches Navigationsparadigma für verschiedene Speicher (z.B. Dateisystem, Registrierungsdatenbank, Zertifikatspeicher, Active Directory und Umgebungsvariablen).
  • Eine einfach zu erlernende, aber mächtige Skriptsprache mit wahlweise schwacher oder starker Typisierung.
  • Ein Sicherheitsmodell, das die Ausführung unerwünschter Skripte unterbindet.
  • Integrierte Funktionen für Ablaufverfolgung und Debugging.
  • Die PowerShell kann um eigene Befehle erweitert werden.
  • Die PowerShell kann in eigene Anwendungen integriert werden (Hosting).

Beispiele

  • Beende alle Prozesse durch Aufruf der Methode Kill(), die „iexplore“ heißen, wobei die Groß-/Kleinschreibung des Prozessnamens irrelevant ist.
Get-Process | where { $.processname -ieq "iexplore" } | foreach { $.Kill() }
  • Sortiere die Prozesse, die das Wort „iexplore“ im Namen tragen, gemäß ihrer CPU-Nutzung und beende den Prozess, der in der aufsteigenden Liste der CPU-Nutzung am weitesten unten steht (also am meisten Rechenleistung verbraucht).
Get-Process | where { $.processname -ilike "*iexplore*" } | Sort-Object –p cpu | Select-Object -last 1 | foreach { $.Kill() }
  • Gib die Summe der Speichernutzung aller Prozesse aus.
Ps | Measure-Object workingset
Get-Ereignisprotokoll -logname system | Group-Object username
Get-Ereignisprotokoll -logname system | Select-Object –last 10
Get-Ereignisprotokoll -logname system | Select-Object –first 10 | Select-Object -p source
  • Importiere die Textdatei test.txt, wobei die Textdatei als eine CSV-Datei mit dem Semikolon als Trennzeichen zu interpretieren ist und die erste Zeile die Spaltennamen enthalten muss. Zeige daraus die Spalten ID und Url.
Import-Csv d:\_work\test.txt -delimiter ";" | Select-Object -p ID,Url
  • Ermittle aus dem Verzeichnis System32 alle Dateien, die mit dem Buchstaben „a“ beginnen. Beschränke die Menge auf diejenigen Dateien, die größer als 40.000 Byte sind, und gruppiere die Ergebnismenge nach Dateinamenerweiterungen. Sortiere die gruppierte Menge nach dem Namen der Dateierweiterung.
Get-ChildItem c:\windows\system32 -filter a*.* | Where-Object {$_.Length –gt 40000} | Group-Object Erweiterung | Sort-Object name | Format-Table
  • Ermittle aus dem Verzeichnis System32 alle Dateien, die mit dem Buchstaben „b“ beginnen. Beschränke die Menge auf diejenigen Dateien, die größer als 40.000 Byte sind, und gruppiere die Ergebnismenge nach Dateierweiterungen. Sortiere die Gruppen nach der Anzahl der Einträge absteigend und beschränke die Menge auf das oberste Element. Gib für alle Mitglieder dieser Gruppe die Attribute Name und Length aus.
Get-ChildItem c:\windows\system32 -filter b*.* | Where-Object {$.Length –gt 40000} | Group-Object Erweiterung | Sort-Object count -desc | Select-Object -first 1 | Select-Object group | foreach {$.group} |

Select-Object name,length | Format-Table

Weitere Ressoucen auf dieser Website

 PowerShell-Community-Website
 Codebeispiele .NET (C#, Visual Basic und PowerShell)
 PowerShell-Codebeispiele

Beratung & Support

 Beratung/Consulting: Azure DevOps Server / Azure DevOps Services - Pro und Contra
 Beratung/Consulting: Integration/Kopplung von Azure DevOps Server (ADO) mit anderen Systemen
 Beratung/Consulting: Einrichtung und Absicherung von Terminal Servern/Remote Desktop Services/Virtual Deskops/Virtual Apps
 Beratung/Consulting: Azure DevOps Server / Azure DevOps Services: Upgrade/Versionsumstieg (auch von TFS/VSTS)
 Beratung/Consulting: Azure DevOps Server / Azure DevOps Services - Review
 Beratung/Consulting: Azure DevOps Server / Azure DevOps Services - Strategieplanung zum Praxiseinsatz
 Beratung/Consulting: Eigener Azure DevOps Server (On-Premise) oder Azure DevOps Services (in der Cloud)
 Beratung/Consulting: Anpassung/Customizing von Azure DevOps Server / Azure DevOps Services
 Beratung/Consulting: Einführung von DevOps mit Continuous Integration (CI) und Continuous Delivery (CD) in Ihrer Softwareentwicklung
 Beratung/Consulting: Programmcodereview
 Beratung/Consulting: Design und Usability ("User Experience - UX") von XAML-Anwendungen (WPF, UWP, WinUI, Xamarin, MAUI)
 Beratung/Consulting: Plattformunabhängige Mobilanwendungen/App entwickeln: Cordova/PhoneGAP versus Xamarin versus React Native versus Flutter
 Beratung/Consulting: Best Practices für moderne Webanwendungen mit HTML5, CSS3 und JavaScript
 Beratung/Consulting: Umstieg von SourceSafe/CVS/Subversion/ClearCase/ClearQuest/Team Foundation Version Control o.ä. auf Git
 Beratung/Consulting: Design und Usability ("User Experience - UX")
 Beratung/Consulting: Architekturreviews
 Beratung/Consulting: Review Ihres Softwareentwicklungsprozesses
 Beratung/Consulting: Werkzeugauswahl und -einführung für die .NET-Anwendungsentwicklung (Microsoft-Werkzeuge und/oder Drittanbieterwerkzeuge)
 Beratung/Consulting: Cross-Plattform-Entwicklung / Cross-Plattform-Tools
 Beratung/Consulting: Design und Usability ("User Experience - UX") von modernen Webanwendungen
 Anfrage für Beratung/Consulting zu PowerShell PS  Gesamter Beratungsthemenkatalog  Technischer Support zum PowerShell PS

Schulungen zu diesem Thema

 Microsoft SharePoint-Administration mit der Windows PowerShell
 Microsoft Exchange Server-Administration mit der Windows PowerShell / Microsoft Exchange Management Shell
 HyperV und/oder VMWare verwalten mit der Windows PowerShell
 Testing mit Windows PowerShell
 Netzwerkverwaltung mit der Windows PowerShell
 Verwaltung von Benutzern und Gruppen des „Active Directory“ mit der PowerShell
 Windows Server-Administration mit der Windows PowerShell, insbesondere Active Directory-Administration
 PowerShell-Scripting: Skripte schreiben mit der Windows PowerShell
 Citrix verwalten mit der PowerShell
 Windows PowerShell 5.1/PowerShell 7.0 für Softwareentwickler
 System Center verwalten mit der Windows PowerShell
 .NET und COM nutzen in der Windows PowerShell
 Windows PowerShell 5.0/5.1 für Umsteiger von Version 4.0
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren
 Microsoft SQL Server-Administration mit der Windows PowerShell
 Grundlagen der PowerShell-Konsole
 Arbeiten mit PowerShell-Laufwerken
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren (4-Tages-Agenda des öffentlichen Seminars)
 Microsoft Azure-Cloud-Dienste verwalten mit der Windows PowerShell
 Remoting, Jobs und Workflows mit der Windows PowerShell
 NetApp verwalten mit der PowerShell
 Windows PowerShell 4.0 für Umsteiger von Version 3.0
 Formatierung und Reporting mit der PowerShell
 Active Directory-Administration mit der Windows PowerShell
 Qualitätssicherung mit Visual Studio und optional mit Azure DevOps (ADO)
 Windows Modern Apps/Windows Universal Apps entwickeln mit der Windows Runtime (WinRT), XAML und .NET/C#/Visual Basic
 Applying Professional Scrum for Software Development (APS-SD) - offizieller Kurs gemäß scrum.org zur Vorbereitung auf die optionale Zertifizierung
 DevOps / Continuous Integration (CI) / Continuous Delivery (CD) mit Ansible
 Tipps & Tricks für bessere Websites/Webanwendungen mit ASP.NET Core
 Progressive Web Apps (PWA)
 Anfrage für eine individuelle Schulung zum Thema PowerShell PS  Gesamter Schulungsthemenkatalog

Bücher zu diesem Thema

  Blazor 9.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 9.0, C# 13.0 und Visual Studio 2022
  Cross-Plattform-Apps mit .NET MAUI entwickeln
  PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
  Blazor 8.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 8.0, C# 12.0 und Visual Studio 2022
  Cross-Plattform-Apps mit .NET MAUI entwickeln
  PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
  Cross-Plattform-Apps mit Xamarin.Forms entwickeln
  PowerShell – kurz & gut
  Windows PowerShell 5 und PowerShell 7: Das Praxisbuch
  Windows PowerShell 5.1 und PowerShell Core 6.1 - Das Praxishandbuch
  Windows PowerShell und PowerShell Core - Der schnelle Einstieg: Skriptbasierte Systemadministration für Windows, Linux und macOS
  Windows PowerShell 5 und PowerShell Core 6 - Das Praxishandbuch
  Windows PowerShell 5 – kurz & gut
  Windows PowerShell 5.0 - Das Praxishandbuch
  .NET Praxis - Tipps und Tricks für .NET und Visual Studio
  Windows PowerShell 4.0 - Das Praxishandbuch
  Scripting mit Windows PowerShell 3.0 - Der Workshop: Skript-Programmierung mit Windows PowerShell 3.0 vom Einsteiger bis zum Profi
  Windows Store Apps entwickeln mit C# und XAML - Crashkurs
  Windows PowerShell 2.0 - Das Praxishandbuch
  Scripting mit Windows PowerShell 2.0 - Der Einsteiger-Workshop
  Windows PowerShell 2.0 - Crashkurs
  Essential PowerShell
 Alle unsere aktuellen Fachbücher  E-Book-Abo für ab 99 Euro im Jahr