Kann ich mit der PowerShell 1.0 zu Liste der Prozesse zusammen mit Ihren PIDs und Befehl Linien?
BEARBEITEN von OP: Meine Frage, vorausgesetzt, dass die PowerShell wurde das beste tool für diesen job. Es gibt eine einfachere Möglichkeit, dies zu erreichen ist mein Ziel. Ein Freund hat mir nur gesagt, etwa: iisapp.vbs. Es zeigt genau die info, die ich brauche, ohne dass die PowerShell.
Ich arbeite mit Dutzenden von ASP.NET Webseiten, die lokal ausgeführt wird und wenn ich Debuggen möchten eine bestimmte website benannt, zum Beispiel foo.site.com ich gehe durch die folgenden Schritte:
-
Führen Sie Process Explorer (von SysInternals) und finden, die w3wp.exe gestartet wurde mit foo.site.com auf der Kommando-Zeile.
-
Beachten Sie die Prozess-ID (PID) des w3wp.exe Prozess.
-
In Visual Studio zu befestigen, dass die Prozess-ID.
Ist es ein Weg, um ein PowerShell-Skript schreiben, die gedruckt werden die PID und Command-Line-Argumente jedes w3wp.exe Prozess läuft auf meinem computer?
Wenn ich führen Sie get-der Prozess w3wp ich bekommen:
> get-process w3wp
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
688 28 44060 64576 226 2.75 196 w3wp
750 26 48328 68936 225 3.38 1640 w3wp
989 36 54596 83844 246 4.92 1660 w3wp
921 33 54344 80576 270 4.24 5624 w3wp
773 27 48808 72448 244 2.75 5992 w3wp
Kein Command-Line-Informationen 🙁
Dank!
EDIT: ich bin auf der Suche für die Kommandozeilen-Argumente übergeben wurden w3wp.
- Es gibt auch einen IIS7-snap-in fügt eine Reihe von interessanten cmdlets für die Verwaltung von IIS. learn.iis.net/page.aspx/447/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
gwmi win32_process -filter "name='w3wp.exe'" | select name,processId,commandLine
Es sollte den trick tun. Ich finde es komisch, dass die powershell nicht das Kommandozeilen-Informationen standardmäßig. Hinweis : ich habe nur getestet, es in powershell 2.0, aber wie Sie wmi verwenden, sollte es in 1.0.
EDIT : die Finale version von Tim Stewart (zur Vermeidung von Problemen mit der Anzeige, siehe Kommentar) :
gwmi win32_process -filter "name='powershell.exe'" | format-table -autosize name,processId,commandLine
Mein Erster Instinkt war die Verwendung von get-process und Blick auf die startinfo-Eigenschaft:
Leider, das funktioniert nicht, weil $_.StartInfo.Argments ist immer null. WMI funktioniert, aber.
Sollte dies funktionieren:
get-process | format-table-Id,Pfad