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.