Как вы автоматически подключаетесь к определенному пулу IIS на удаленном сервере?
В настоящее время три разработчика используют один ящик IIS для тестирования. Из-за сторонних утилит и других ограничений мы не можем запустить проект локально, поэтому удаленная отладка является единственной возможностью. В настоящее время мы выполняем удаленный доступ к веб-серверу, запускаем iisapp.vps, чтобы получить PID наших отдельных сайтов, а затем запускаем удаленную отладку в VS2008 для подключения к этому pid.
Я нашел сценарии для автоматического подключения к w3wp автоматически, если он единственный, но я не нашел способа удаленно найти PID w3wp в сценарии и использовать его для подключения.
1 ответ
Большинство сценариев, которые работают с IIS, предполагают, что вы работаете на локальном компьютере. Если вы посмотрите на код сценария, он, скорее всего, использует WMI для работы с IIS, и первое, что он должен сделать, это подключиться к провайдеру WMI, которому всегда требуется имя компьютера и путь провайдера WMI. Имя машины для локальной машины часто представляется как "." где требуется.
Например:
strComputer = "." Установите objWMIService = GetObject ("winmgmts:" _ & "{impersonationLevel = impersonate}! \\" _ & strComputer & "\ root \ cimv2") Set colProcesses = objWMIService.ExecQuery (_ "select * from win32_process Where Name = 'w3wp.exe'") Для каждого objProcess в colProcesses WScript.Echo objProcess.ProcessId
Если вы измените strComputer так, чтобы он указывал на сервер IIS, вы получите PID для всех процессов w3wp, запущенных во время запроса.
Примечание: приведенный выше код является фрагментом скрипта, а не полной программой.