编辑运算: 我的问题预先假定,PowerShell是最好的工具,用于这项工作。有一个简单的方式实现我的目标。一个朋友刚刚告诉我: iisapp.js.它显示确切的信息,我需要而无需置。


我的工作有几十个ASP.NET 网站运行的地方和时候,我要调试一个特别网站,名为,例如,foo.site.com 我去通过以下步骤:

  1. 运行过程中资源管理器(从微软)和找到它w3wp.exe 是开始foo.site.com 在其命令行。

  2. 注意到该进程ID(PID),w3wp.exe 过程。

  3. 在Visual Studio附加这一进程ID。

有没有办法写PowerShell脚本,这将打印PID和命令行参数的每w3wp.exe 运行的进程在我的电脑吗?

当我运行得到进程w3wp我得到:

> 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

没有命令行信息:(

谢谢!

编辑:我要寻找的命令行辩论,通过了以w3wp.

有帮助吗?

解决方案

gwmi win32_process -filter "name='w3wp.exe'" | select name,processId,commandLine

它应该做的伎俩。我觉得很奇怪,这完全不提供命令行信息的默认。注:我只是测试它在powershell2.0,但因为它使用此,它应该在为1.0。

编辑:最终版本中使用的蒂姆*斯图尔特(以避免显示的问题,请参阅评论):
gwmi win32_process -filter "name='powershell.exe'" | format-table -autosize name,processId,commandLine

其他提示

我的第一本能是要利用取得进程,并期待在startinfo财产:

get-process w3wp | select-object id, path, @{Name="Args";Expression = {$_.StartInfo.Arguments}}

不幸的是,这不起作用,因为$_.StartInfo.Argments总是空。WMI工作,虽然。

get-wmiobject win32_process -filter "name='w3wp.exe'" | select-object processid, commandline

这个应该的工作:

让-process|格式表的Id,路径

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top