Выключение компьютеров по расписанию
Требуется выключать парк компьютеров с установленной Windows подключенной к домену организации по расписанию в 22:00 используя штатное программное обеспечение.
Решение
Для выключения воспользуемся простым bat скриптом
@echo off
SetLocal EnableExtensions
Set Comps=PC1 PC2 PC3
For %%I In (%Comps%) Do (Ping -n 1 -w 1 %%I >nul && Shutdown -m \\%%I -s -t 10 -f)
Рассмотрим скрипт по подробнее.
@echo off – отключение стандартного вывода команд на командный терминал;
SetLocal EnableExtensions – включение расширений командного процессора;
Set Comps=PC1 PC2 PC3 – определение переменной Comps, содержащей список Netbios имён выключаемых компьютеров разделённых пробелами. В качестве примера установлены имена PC1 PC2 PC3.
For %%I In (%Comps%) – запускаем цикл по списку имён;
Ping -n 1 -w 1 %%I >nul – проверяем доступность компьютера по сети одним ICMP пакетом с таймаутом в 1 мс. Весь вывод программы перенаправляется в устройство nul.
&& Shutdown -m \%%I -s -t 10 -f – если программа ping выполнена успешно, то запускается shutdown для компьютера с именем, записанным в переменной %%I с таймаутом в 10 секунд.
Для регулярного выключения компьютера по расписанию воспользуемся Планировщиком заданий Windows. Он находится Пуск -> Все программы -> Стандартные -> Служебные -> Планировщик заданий. Для его настройки выполним следующую последовательность шагов.
В правом меню «Действия» нажимаем на «Создать задачу…».
Присваиваем имя задачи, например, Reboot.
Устанавливаем переключатель «Выполнять вне зависимости от регистрации пользователя». Нажав на кнопку «Изменить» выбираем пользователя, от имени которого будет запускаться задание. Т. к. задние должно выполняться на удалённых компьютерах, то указать нужно доменного администратора.
Далее переходим на вкладку «Триггеры». Нажимаем на кнопку «Создать…» для инициализации времени запуска события.
На панели «Параметры» выбираем «Ежедневно», запуск выполнения задания определяем в 22:00:00. Галочка «Включено» должна стоять.
Далее переключаемся на вкладку «Действия». Нажимаем на кнопку «Создать…»
В поле ввода «Программа или сценарий:» устанавливаем полный путь до скрипта перезагрузки. Нажатием на кнопку «ОК» мастер установки возвращается к родительскому окну «Создание задачи». Далее ещё раз нажимаем на кнопку «ОК».
Программа настройки предложит указать пароль для доменного пользователя от имени которого будет выполняться запуск задания. В случае ошибки в авторотационных данных задание выполняться не будет.
На этом настройка завершена. Следует отметить, если производится выполнение задания на компьютерах находящихся в рабочей группе, то следует позаботиться о том, чтобы на них на всех компьютерах был один и тот же пользователь с административными привилегиями и было доступно подключение к административной папке Admin$. Таким образом bat скрипт модифицируется в следующий:
@echo off
SetLocal EnableExtensions
Set Comps=PC1 PC2 PC3
For %%I In (%Comps%) Do (Ping -n 1 -w 1 %%I >nul && net use \\%%I\Admin$ Password /user:Admin && Shutdown -m \\%%I -s -t 10 -f)