Windows PowerShell ist fertig!

Wednesday, January 31, 2007 8:47:43 PM (W. Europe Standard Time, UTC+01:00)

Schon seit 2 Tagen gibt es die Windows PowerShell in der finalen Version. Das besondere an PowerShell ist, dass es sich um eine objektorientierte Shell handelt. Dadurch kann man aus der PowerShell heraus mit .NET Objekten arbeiten. Außerdem erhält man als Ergebnis eines Kommandos in der Powershell nicht einfach nur eine textuelle Ausgabe des Ergebnisses, sondern Objekte.

Wenn man in einer "klassischen" Shell ein Kommando ausführt, erhält man das Ergebnis des Kommandos als Text, und kann diesen als Eingabe für weitere Kommandos nutzen. Das führt jedoch dazu, dass bestimmte Informationen oft umständlich aus der Ausgabe heraus geparst werden müssen (z.B. mit regulären Ausdrücken), um sie in die gewünschte Form für das nächste Kommando zu bekommen.

Beim Aufruf eines Kommandos in der Windows PowerShell erhält man als Ergebnis ein .NET Objekt (auch wenn man das auf den ersten Blick nicht sieht, denn in der Konsole wird eine textuelle repräsentation dieses Objekts ausgegeben). Dieses Objekt kann man an weitere Kommandos als Eingabeparameter übergeben, und diese können dann auf alle Eigenschaften und Methoden dieses Objekts zugreifen. Umständliches parsen von irgendwelchen Strings ist also nicht nötig.

Das folgende Beispiel zeigt die Version des Betriebssystems an. Ich verwende dazu die statische Eigenschaft OSVersion der Environment Klasse aus dem .NET Framework:

PS C:\Users\Mathias> [Environment]

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False Environment System.Object

PS C:\Users\Mathias> [Environment]::OsVersion

Platform ServicePack Version VersionString
-------- ----------- ------- -------------
Win32NT 6.0.6000.0 Microsoft Windows NT 6.0.6...

PS C:\Users\Mathias> [Environment]::OsVersion.VersionString
Microsoft Windows NT 6.0.6000.0
PS C:\Users\Mathias> [Environment]::OsVersion.Version

Major Minor Build Revision
----- ----- ----- --------
6 0 6000 0

PS C:\Users\Mathias> [Environment]::OsVersion.Version.Major
6

Weitere Informationen zum Thema PowerShell gibt es z.B. unter:
http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx
http://blogs.msdn.com/powershell/

Technorati tags: , , ,
Kick it on dotnet-kicks.de
Page 1 of 1 in the PowerShell category