1

現在、3 人の開発者が 1 つの IIS ボックスをテスト用に共有しています。サードパーティのユーティリティやその他の制限により、プロジェクトをローカルで実行できないため、リモート デバッグが唯一のオプションです。現在のプロセスは、Web サーバーにリモート接続し、iisapp.vps を実行して個々のサイトの PID を取得し、VS2008 でリモート デバッグを実行して、その pid に接続することです。

w3wp に自動的に接続するためのスクリプトを見つけましたが、それが実行されている唯一のスクリプトである場合、スクリプトで w3wp PID をリモートで見つけてそれを使用して接続する方法が見つかりませんでした。

4

1 に答える 1

1

IIS で動作するほとんどのスクリプトは、ローカル マシンで実行していることを前提としています。スクリプト コードを見ると、WMI を使用して IIS を操作している可能性が高く、最初に行う必要があるのは、常にマシン名と WMI プロバイダー パスを必要とする WMI プロバイダーに接続することです。ローカル マシンのマシン名は、多くの場合、「.」で表されます。必要な場所。

例えば:

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

colProcesses = objWMIService.ExecQuery( _ を設定します。
    "select * from win32_process Where Name = 'w3wp.exe'" )
colProcesses の各 objProcess
    WScript.Echo objProcess.ProcessId

strComputer を IIS サーバーを指すように変更すると、クエリ時に実行されているすべての w3wp プロセスの PID が取得されます。

注: 上記のコードはスクリプトの一部であり、完全なプログラムではありません。

于 2009-08-24T04:40:33.290 に答える