2009-04-17 36 views
1

目前三位开发人员共用一个IIS框进行测试。由于第三方utils和其他限制,我们不能在本地运行项目,所以远程调试是唯一的选择。我们当前的流程是远程访问Web服务器,运行iisapp.vps获取我们各个站点的PID,然后在VS2008中运行远程调试,以连接到该pid。如何自动附加到远程服务器上的特定IIS池?

我发现了自动连接到w3wp的脚本,如果它是唯一正在运行的,但是我还没有找到一种方法能够在脚本中远程查找w3wp PID并使用它附加。

回答

1

与IIS一起使用的大多数脚本都假定您正在本地计算机上运行。如果您查看脚本代码,最有可能使用WMI与IIS一起工作,并且首先要连接到始终需要计算机名称和WMI提供程序路径的WMI提供程序。本地机器的机器名称通常表示为“。”。在需要时。

例如:

 
strComputer = "." 
Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" _ 
    & strComputer & "\root\cimv2") 

Set colProcesses = objWMIService.ExecQuery(_ 
    "select * from win32_process Where Name = 'w3wp.exe'") 
For Each objProcess in colProcesses 
    WScript.Echo objProcess.ProcessId 

如果你改变strComputer的指向IIS服务器,你会得到的PID为所有在查询时运行的w3wp进程。

注意:上面的代码是脚本的一个片段,不是一个完整的程序。

+0

谢谢,我会试着实现它,看看它的工作效果如何! – Ravedave 2009-10-14 02:28:35

相关问题