2009-04-17 33 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

相關問題