Auflisten von Prozessen
Das Auflisten aller lokalen Prozesse, wird mit dem aufrufen des Cmdlets get-process ohne zusätzliche Parameter ausgeführt.
PS C:\get-process
Dies führt dann zur folgenden Ausgabe:
Anzeigen eines Prozesses mit einer bestimmten ProcessID
Mit get-process ist es auch möglich, ein Prozess einzeln anzuzeigen, welche eine bestimmte ProcessID hat.
PS C:\get-process -id ProessID
Um den Prozess mit der ProcessID 4380 anzuzeigen, müsste man folgendes eingeben:
PS C:\get-process -id 4380
Das wäre dann die Ausgabe:
Anzeigen von Prozessen mit einer bestimmten Zeichenfolge
Die Suche nach Prozessen mit einer bestimmten Zeichenfolge realisiert man so:
PS C:\get-process -name Zeichenfolge
Will ich nach dem Prozess svchost suchen, wäre der Befehl:
PS C:\get-process -name svchost
Die Ausgabe:
Sortieren von Prozessen
Ebenfalls lassen sich die Prozesse nach verschiedenen Kriterien sortieren. Dafür gibt es das Cmdlet sort-object.
PS C:\get-process | sort-object id
Mit diesem Befehl werden die Prozesse nach ProcessID absteigend sortiert.
Möchte man aber z.B: die Top 5 Prozesse anzeigen, welche am meisten CPU Zeit benutzt haben, wäre dies der Befehl:
PS C:\get-process | sort-object CPU -descending | select-object -first 5
Die Ausgabe wäre:
Stoppen von Prozessen mit einer Process ID oder Zeichenkette
Mit stop-process lassen sich auch Prozesse beenden anhand von Zeichenketten oder ProcessID.
Um einen Prozess mit einer ProcessID zu beenden, gibt man folgendes ein:
PS C:\stop-process -id 4380
4380 ist die ProzessID, welcher dieses Prozess besitzt.
Das beenden eines Prozesses anhand einer Zeichenkette würde man folgendes eingeben:
PS C:\stop-process -name explorer
Somit werden alle Prozesse mit dem Namen explorer beendet. Es können auch Wildchards benutzt werden, zulässig wäre auch ex*. Nur besteht dann die Gefahr, das auch andere Prozesse, welche ex in ihrem Namen haben, geschlossen werden. Dafür gibt es aber eine Lösung.
PS C:\stop-process -name ex* -confirm
Die Ausgabe wäre dann:
Es wird also zuerst auf eine Bestätigung (Confirm) vom User gewartet.
Prozesse beenden, welche nicht mehr reagieren
Hier kommt nun ein Vorzug von PowerShell zum tragen, es lassen sich auch nur Prozesse beenden, welche nicht mehr reagieren.
Dafür würde man folgendes eingeben:
PS C:\get-process | where-object -filterscript {$_.responding -eq $false} | stop-process
Erklärung dazu:
Zuerst werden die Prozesse mit get-process eingelesen, danach mit where-object wird nach Prozessen gesucht, welche nicht mehr reagieren und mit stop-process werden diese dann beendet.
Das “|” Zeichen nennt man Pipeline, es verbindet mehrere Befehle, welche nacheinander abgearbeitet werden.
{ 1 comment… read it below or add one }
The package arrived on a Monday and was to have been delivered the same day. UPS had a variety of excuses why this couldn’t happen. Tuesday came and went. So did most of Wednesday. With the conference starting Thursday, we were desperate.