Здравствуйте, Sinclair, Вы писали:
S>Задача: хочу написать html документ, в котором при помощи скрипта выяснить наличие и версию локального IIS.
S>Понятно, что можно сделать запрос к http://localhost:80/. Есть ли другие способы, без парсинга хидеров? Например, через ADSI?
S>Поиск в MSDN и здесь ничего не дал.
Можно просто обратится к управляющим COM для IIS. Информацию ищи в скриптах администрирования для IIS (в частности adsutil.vbs). Искать скрипты в %SystemRoot%/system32/iis*.vbs + intepub/wwwroot/adminscripts/*.vbs
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/iis/using_iis_programmatic_administration.asp
вкратце, на JScript:
// WSH + ADSI
var obj = GetObject("IIS://localhost/W3SVC/Info");
WScript.Echo(obj.MajorIIsVersionNumber + "." + obj.MinorIIsVersionNumber)
// WMI
var locatorObj = new ActiveXObject("WbemScripting.SWbemLocator");
var providerObj = locatorObj.ConnectServer("localhost", "root/MicrosoftIISv2");
var nodeObj = providerObj.Get("IIsWebVirtualDir='W3SVC/Info'");
alert(obj.MajorIIsVersionNumber + "." + obj.MinorIIsVersionNumber);
P.S. Я не в курсе как с ADSI работать через ActiveX поэтому только на WSH.
С Уважением, Andir!
using(RSDN@Home 1.1.4 beta 2){/* Работаем! */}