среда, 10 марта 2010 г.

Как в .cmd файлах узнать SITE IDENTITY зная имя сайта (IIS 6)

How to recognize IIS 6 site ID by its name in command line (.cmd)
***
Стояла задача: написать .cmd скрипт для Win2003/IIS6, который создавал бы сайт и настраивал его параметры

Сайт создается через утилиту iisweb /create. Параметры настраиваются через adsutil.vbs

Проблема в том, что adsutil требует на вход site identity, которую явно из iisweb не получить.
В результате написал простенький скрипт (который, правда, требует sed for windows)

Скрипт, зная имя сайта, получает в переменную окружения его id. Может, кому-нибудь пригодится...


set SITE_NAME=MySite 
set SED=utils\sed.exe
iisweb /query %SITE_NAME% | %SED% "$!d" > c_siteid.tmp
%SED% -i "s/.*(W3SVC\/\([0-9]*\)).*/\1/g" c_siteid.tmp 
set /p SITE_ID=<c_siteid.tmp
echo id=%SITE_ID%
del c_siteid.tmp
del sed*.
Бонус: команды sed

Комментариев нет: