Назад | Перейти на главную страницу

Простой способ переместить более 300 сайтов IIS в новые пулы приложений?

У меня есть тонна (около 300) сайтов IIS на сервере, которые нужно переместить в новый пул приложений. Я мог бы сделать это программно, используя класс C # DirectoryEntry, но мне интересно, есть ли более простой способ?

ADSUtil.VBS - ваш друг. Вы можете использовать его для получения списка всех сайтов в системе (который вам придется немного отредактировать, чтобы получить правильные результаты) и для установки пула приложений для сайта.

cscript adsutil.vbs enum /P /w3svc/

предоставит вам список всех путей на вашем сервере, например:

[/w3svc/1]
[/w3svc/2]
[/w3svc/608728754]
[/w3svc/608728755]
[/w3svc/87257621]
[/w3svc/AppPools]
[/w3svc/Filters]
[/w3svc/Info]

все, что заканчивается числом, является веб-сайтом. После фильтрации этого списка вы можете использовать его в качестве входных данных для другой команды adsutil.vbs:

cscript adsutil.vbs set W3SVC/<number>/ROOT/AppPoolId <NewAppPoolName>

Это изменит пул приложений для веб-сайта, указанного <number> быть тем, что указано в <NewAppPoolName> - этот пул приложений уже должен существовать.

Написание оболочки вокруг этого на вашем любимом языке должно быть довольно тривиальным, если вы уже говорите об использовании C # для этого.

Кроме того, если вы не знакомы с ним, adsutil.vbs обычно существует в c:\inetpub\adminscripts\

Программирование определенно. Нет ничего проще. Вы проверили раздел сценариев на http://www.iis.net/? Мне тоже приходит в голову Powershell ...

Я написал небольшой инструмент на основе другого ответа. Вы можете сопоставить пулы и сайты на основе регулярного выражения, и оно разделит их поровну. Вы можете скачать это здесь: http://www.netfuelinteractive.com/iis-application-pool-tools.aspx

Я написал для этого небольшой инструмент. Вы можете сопоставить пулы и сайты на основе регулярного выражения, и оно разделит их поровну. Вы можете скачать это здесь: http://www.netfuelinteractive.com/iis-application-pool-tools.aspx