Erklärung des Begriffs: Windows PowerShell (WPS)
Was ist Windows PowerShell (WPS)?

Zurück zur Stichwortliste



Begriff Windows PowerShell
Abkürzung WPS
Synonyme/Aliase

Erläuterung des Begriffs Windows PowerShell

Die Windows PowerShell ist Microsoft neue Lösung für die kommandozeilenbasierte Administration und Scripting in Windows. Erstmals kann sich eine Windows-Shell mit den Unix-Shells messen und ist ihnen durch das typisierte Objekt-Pipelining überlegen

Frühere Namen: Microsoft Shell (MSH), Microsoft Command Shell
Codename: Monad
Erschienen am: 6.11.2006
Verfügbar für: Windows XP und höher

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, Zertifikatsspeicher, 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

- Gruppiere die Einträge im System-Ereignisprotokoll nach Benutzernamen.

Get-Ereignisprotokoll -logname system | Group-Object username

- Zeige die letzten zehn Einträge im System-Ereignisprotokoll.

Get-Ereignisprotokoll -logname system | Select-Object –last 10

- Zeige für die letzten zehn Einträge im System-Ereignisprotokoll die Quelle an.

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

Querverweise zu anderen Begriffen im Lexikon

Windows Management Instrumentation
Registrierungsdatenbank
Ereignisprotokoll
Objekt-Pipelining
Active Directory
Microsoft Shell
COM-Bibliothek
Registrierung
Dateisystem
Commandlet
Powershell
Pipelining
Windows XP
Zertifikat
Scripting
Datenbank
Debugging
Attribut
Prozesse
Monad
Pipe