Re[3]: Как программно узнать версию IIS?
От: Andir Россия
Дата: 31.08.04 05:28
Оценка:
Здравствуйте, Sinclair, Вы писали:

A>>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/iis/using_iis_programmatic_administration.asp

S>Тоже смотрел. Все есть, про версию нету.

Всё там есть Версия IIS храниться в метабазе, и запрашивать его надо оттуда. Основной интерфейс для этого "IIS://localhost/W3SVC/Info";
Метабаза для IIS 6.0 храниться в xml в %SystemRoot%/system32/inetsrv/metabase.xml. По сути всё управление сводиться к чтению и изменению метабазы. А запросы вида IIS://localhost/W3SVC/Info являются почти XPath для метабазы ...

A>>вкратце, на JScript:

A>>// WSH + ADSI
A>>var obj = GetObject("IIS://localhost/W3SVC/Info");
A>>WScript.Echo(obj.MajorIIsVersionNumber + "." + obj.MinorIIsVersionNumber)
S>Увы:
S>

undefined.undefined


Странно, у меня точно выдаёт 6.0 на запущенном сервере. Ты запускал из под WSH? А то если из под браузера, то там надо ActiveX юзать ... А про ADSI с ActiveX я не в курсе.

Во втором примере я чуть ошибся там не так
// это *.htm
<script>
var locatorObj = new ActiveXObject("WbemScripting.SWbemLocator");
var providerObj = locatorObj.ConnectServer("localhost", "root/MicrosoftIISv2");

var obj = providerObj.get("IIsWebInfo='W3SVC/Info'");

alert(obj.MajorIIsVersionNumber + "." + obj.MinorIIsVersionNumber );
</script>


У меня оба примера выдают 6.0.

C Уважением, Andir!
using(RSDN@Home 1.1.4 beta 2){/* Работаем! */}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.