Cmd-Nachfolger: Scripting mit der Windows PowerShell

Echte Objekte bei der PowerShell

Die PowerShell verwendet einen grundlegend anderen Ansatz. Hier startet man ebenfalls das Kommando get-process, das alle laufenden Prozesse vom Betriebssystem liefert. Nur werden sie als ein Listenobjekt von Prozessobjekten geliefert. Diese Objekte kann man dann auf ihre Eigenschaften hin untersuchen – es müssen also keinerlei Textzeilen untersucht und in Spalten aufgeteilt werden. Die Eigenschaften haben dabei automatisch den passenden Datentyp: Die Prozess-ID ist also tatsächlich ein Integer und nicht etwa ein String, der nur bei der Anzeige wie ein Integer aussieht.

Auf dem Eingabe-Prompt sieht das PowerShell-Script einem herkömmlichen Script sehr ähnlich. Es enthält jedoch keine Textersetzungs- und -filtermechanismen wie die Linux-Befehle sed und grep:

MSH:> get-process | where { $_.handlecount –gt 100 }

get-process liefert dabei die Objektliste aller Prozesse. Diese wird per Pipe in den where -Ausdruck umgelenkt. Er filtert alle Objekte heraus, bei denen die Eigenschaft handlecount größer als 100 ist. Als Resultat werden die passenden Prozesse am Bildschirm angezeigt.