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 Pipelining (Objekt-Pipelining) überlegen
Frühere Namen: Microsoft Shell (MSH), Microsoft Command Shell
Codename: Monad
Versionen
Version 1.0 erschienen am: 6.11.2006 verfügbar für: Windows XP und höher
Version 2.0 erschienen am: 22.7.2009 verfügbar für: Windows XP und höher
Version 3.0 erschienen am: 15.8.2012 verfügbar für: Windows 7/Windows Server 2008 und höher; enthalten in Windows 8 / Windows Server 2012
Version 4.0 erscheint am: Oktober 2013 verfügbar für: Windows 7/Windows Server 2008 und höher; enthalten in Windows 8.1 / Windows Server 2012 R2
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
Artikel in gedruckten Medien
|
Windows PowerShell - Konzepte, Praxiseinsatz, Erweiterungen
(Windows PowerShell, 2007)
|
Microsoft .NET 3.0 Crashkurs
(.NET 3.0 Crashkurs, 2007)
|
Windows Scripting (5. Auflage)
(Windows Scripting, 2007)
|
Shell mit viel Power - Ausblick auf Microsoft PowerShell Version 1.0 ( Scripting Kolumne Teil 17: PowerShell Teil 1)
(Windows IT Pro (Windows 2000 Magazin), 2006)
|
Eingebettet: Systemadministration mit Microsofts PowerShell
(iX - Magazin für professionelle Informationstechnik, 2006)
|
Muschelzucht im Ausland (Microsofts PowerShell kurz vor Ihrer Fertigstellung)
(Linux Magazin, 2006)
|
Windows PowerShell 2.0 - Das Praxishandbuch
(Windows PowerShell 2.0 - Das Praxishandbuch, 2010)
|
Windows Scripting 6. Auflage
(Windows Scripting, 2009)
|
Essential PowerShell
(Essential PowerShell, 2008)
|
Noch mehr Kraft - Ausblick auf Microsoft PowerShell Version 1.0 (Scripting Kolumne Teil 18: PowerShell Teil 2)
(Windows IT Pro (Windows 2000 Magazin), 2006)
|
Windows Scripting Lernen 4. Auflage
(Windows Scripting Lernen, 2009)
|
PowerShell Teil 3 (Scripting Kolumne Teil 19)
(Windows IT Pro (Windows 2000 Magazin), 2007)
|
Mehr Kraft für den Prompt - Werkzeuge für die PowerShell: PowerShell IDE und PowerShell Analyzer (Tools & Components 12/06)
(DotNetPro - Das .NET-Magazin für Entwickler, 2006)
|
Windows Scripting Lernen
(Windows Scripting Lernen, 2007)
|
|
Querverweise zu anderen Begriffen im Lexikon
Windows Management Instrumentation Registrierungsdatenbank Windows Server 2012 Windows Server 2008 Objekt-Pipelining Ereignisprotokoll Active Directory Microsoft Shell COM-Bibliothek Windows Server Registrierung Dateisystem Windows 8.1 Commandlet Windows XP Powershell Zertifikat Windows 8 Windows 7 Scripting Datenbank Debugging Attribut Prozesse Monad Pipe
|
Dienstleistungen:
Beratung/Consulting zu Windows PowerShell
Support zu Windows PowerShell
Schulungen zu diesem Thema:
|