Автоматизация IIS 7+ на PowerShell

Цена договорная • безналичный расчёт, электронные деньги
16 января 2018, 14:25 • 0 откликов • 14 просмотров
Задача: Автоматизация процесса создание пользователей и приложений на IIS сервер версии 7.0 и выше. Можно использовать PowerShell, либо что-то другое, но главное чтобы скрипты были читабельными и не компилировались, чтобы их модификация в будущем была легкой.

1) Нужно создать скрипты:
1.1) остановка пула;
1.2) запуск пула;
1.3) остановка сайта;
1.4) запуск сайта;
1.5) удаление сайта;
1.6) удаление пула (включает удаление всех сайтов в пуле);
1.7) удаление фтп пользователя и IIS пользователя вместе с удалением домашней папки пользователя (одним скриптом);
1.8) изменения отдельных параметров пула и сайта (лимит виртуальной памяти, флаг защиты от частых сбоев, лимит использования процессора в пуле, число подключений к сайту и т.д.). Возможно это должен быть именованный массив (имя –> значения), который будет передаваться в функцию и функция будет изменять эти значения на сервере. Должен быть список доступных имен для изменения и проверка значений на правильность формата.

Требования к скриптам:
1.а) Написать их в виде функций или классов;
1.б) Каждый скрипт должен вести логи своей работы в файл и возвращать результат работы скрипту верхнего уровня.

Формат вывода в файл на сервере (datetime, action):
21-12-2017 21:12:33 OK "domain_name was created"
21-12-2017 21:12:38 ERR "domain_name was not created - error text"

Формат вывода в верхний скрипт:
task_id, execution_status(ok/err), error_code(if_any), date_and_time_of_execution_of_this_task

Пример 1)
Выключить пул (п.1.1). Скрипт вызывается из общего скрипта как функция остановки пула (по имени пула) и выполняет его остановку. Результат пишется в файл и возвращается обратно в общий скрипт.

Пример как автоматизируют на PowerShell:
https://weblog.west-wind.com/posts/2017/May/25/Aut...
http://www.itprotoday.com/management-mobility/mana...