Как перезагрузить компьютеры по сети (в случае проверки)
Создана: 07 Июня 2008 Суб 12:50:19.
Раздел: "Компьютерный раздел"
Сообщений в теме: 17, просмотров: 70811
-
Как быть, если к вам в офис пришли какие-то враги (например, лиц-шмональщики), и застали вас в процессе работы за компьютером, на котором уже введены все секретные пароли, запущены нелицензионные программы, открыты секретные документы?
Самый простой и надёжный способ - перезагрузить сразу все компьютеры, сделав вид будто это какой-то случайный ужасный сбой, а вовсе не принятие мер безопасности. Эта небольшая статья - о том, как вызвать такой "сбой".
СПОСОБ ПЕРВЫЙ - ЭЛЕКТРИЧЕСКИЙ.
Самый простой, надёжный и жестокий способ - электрический. Просто замкните электропроводку - вылетят пробки, офис будет надёжно обесточен. Чтобы вызвать надёжное короткое замыкание лучше подготовиться заранее, проявив фантазию в создании короткозамкнутых приборов. Это может быть что угодно: "неисправный" электрочайник, "проблемная" электролампочка, "сломаный" удлинитель, и так далее. Это может быть просто "включатель света" на стене, или какая-нибудь "недоделанная проводка", которую можно "нечаянно" задеть ногой... В общем, здесь полный простор для фантазии. Главное - не забывать про источники бесперебойного питания.
Глупо обесточивать офис, если у каждого компьютера стоит UPS. Если вы заботитесь о безопасности, то не поленитесь заранее протянуть в своём офисе отдельную проводку специально для питания компьютеров, завести её всю на один хороший мощный UPS. Во-первых, такая схема - надёжнее, правильнее, легче в обслуживании, по сравнению с той схемой, когда у каждого компа стоит персональный UPS.
Во-вторых, вы получаете прекрасную возможность отрубать питание у всех компьютеров сразу. Либо закоротив проводку (хороший UPS при этом уйдёт в защиту), либо просто отключив линию питания.
ВТОРОЙ СПОСОБ - ПЕРЕЗАГРУЗКА ПО СЕТИ.
Гораздо менее жестоким способом перезагрузки компьютеров является подача через локальную сеть команды о перезагрузке. На практике это реализуется следующим образом:
на всех компьютерах устанавливается специальный ярлычок, при нажатии на который происходит перезагрузка всех компьютеров в офисе. Как только выясняется, что "волк в домике!" кто-то из сотрудников (кто угодно, или несколько сразу) вызывают этот магический ярлычок кликнув иконку на своём компе, либо нажав определённое сочетание клавиш. После этого все компы сами по себе начинают перезагружаться, все пароли исчезают, все документы закрываются. Можно при этом даже театрально всплеснуть руками "ОЙ блин у меня компьютер ОПЯТЬ САМ ПЕРЕЗАГРУЗИЛСЯ!!! Да сколько ж можно!"
Команда удалённой перезагрузки очень простая:
shutdown -r -f -t 0 -m \\имя-или-айпи-адрес-компа.
например, чтобы перезагрузить server1 надо выполнить
shutdown -r -f -t 0 -m \\server1
параметры:
-r означает что компьютер будет перезагружен (если поставить -s то будет выключен)
-f означает принудительное завершение открытых программ.
-t 0 означает время ожидания перед перезагрузкой в секундах, ноль - то есть нисколько не ждать.
-m имя - указание удалённого компьютера в сети, на который посылается команда. Если не указан этот ключ то команда адресуется к локальному компьютеру
Просмотреть хелп команды можно набрав shutdown /?
Теперь ВАЖНЫЙ момент: у текущего пользователя может не хватить прав доступа на выключение соседнего компьютера или сервера. Это лечится вот какой командой:
runas /env /user:Admin1 /savecred "shutdown -r -f -t 0 -m \\COMP"
Команда runas предназначена для запуска процессов от имени другого пользователя.
Вместо COMP надо подставить имя компьютера, вместо Admin1 - имя юзера, имеющего права администратора на компьютере COMP и как минимум права юзера на компьютере, с которого осуществляется вызов команды. Разумеется, и на том и на другом компьютере пароль для этого имени должен быть одинаковым.
-Самый простой вариант - использовать одно имя администратора и один пароль для всех компьютеров, тогда запутаться становится совершенно невозможно.
-Самый сложный вариант - если не хочется раздавать направо-налево права администратора, тогда можно создать на каждом компьютере специального юзера, дать ему ограниченные права, достаточные только для перезагрузки компьютеров - но это задачка скорее для сисадмина, нежели для рядового пользователя.
-Если компьютеры включены в домен, то проще всего во всех командах использовать учётку доменного администратора, либо использовать специального доменного юзера с правами на перезагрузку любого компьютера.
-Поясняю параметр /savecred , он предназначен для того, чтобы не требовалось вводить пароль каждый раз. Достаточно ввести пароль один раз, после этого система его запоминает, а в следующий раз команда выпонится уже без запроса пароля, на основе запомненных данных.
Вцелом скрипт массовой перезагрузки может выглядеть примерно так:
runas /env /user:Admin1 /savecred "shutdown -r -f -t 0 -m \\COMP1"
runas /env /user:Admin2 /savecred "shutdown -r -f -t 0 -m \\COMP2"
runas /env /user:Admin3 /savecred "shutdown -r -f -t 0 -m \\COMP3"
...
и так далее, по количествку компов.
Однако, при таком способе команды будут вызываться последовательно, то есть команда на перезагрузку последнего компьютера будет подана гораздо позже чем команда на перезагрузку первого компьютера в списке. Это тоже можно вылечить. Достаточно дописать в начале каждой команды магическое слово start и тогда все команды запустятся параллельно. То есть итоговый скрипт тотальной перезагрузки всех компьютеров будет выглядеть примерно так:
start runas /env /user:Admin /savecred "shutdown -r -f -t 0 -m \\COMP1"
start runas /env /user:Admin /savecred "shutdown -r -f -t 0 -m \\COMP2"
start runas /env /user:Admin /savecred "shutdown -r -f -t 0 -m \\COMP3"
Удачных экспериментов, дамы и господа!
p.s. иногда встречаются такие версии винды, которые упорно не желают воспринимать команду перезагрузки по сети. Чтобы это вылечить надо, во-первых, проверить настройку безопасности, которая отвечает за правила сетевой авторизации пользователей. В XP найти это можно так: открываем Control Panel -> Administrative tools -> Local Security Policy
Там ищем такую настройку:
Local Policies -> Security Options ->
Network access: Sharing and security model for local accounts
там надо включить режим "Classic" вместо "Guest only".
(по русски - Паналь управления -> Администрирование
Локальные параметры безопасности
Локальные политики -> Параметры безопасности ->
Сетевой доступ: модель совместного доступа... - здесь по умолчанию включено "Гостевая", надо включить "Обычная".
(если компьютеры в домене то делать это скорее всего не потребуется).
Разумеется, все компьютеры, которые мы хотим перезагружать через сеть, должны быть не зафаерволены от доступа из локальной сети!
Решив проблему доступа через локальную сеть все остальные препятствия можно преодолеть через использование утилиты psexec. Команда на удалённую перезагрузку в этом случае будет выглядеть так:
psexec \\IP -u Administrator -p password shutdown -r -f -t 0
Вместо IP подставляем IP-адрес компьютера, который отправляем в перезагрузку. Вместо Administrator и password - подставляем соответственно логин и пароль администратора того компьютера.
p.p.s. Волшебную утилиту psexec можно скачать прямо с майкрософта:
[внешняя ссылка]
p.p.p.s. Ещё можно по аналогии создать менее злую командочку, которая вместо перезагрузки просто автоматически лочит все компы. Тоже очень полезно в случае проверки - залоченость компов даёт некоторое время на принятие дальнейших решений. Если "волки" не знают паролей то для входа им понадобится либо выпытывать пароли у юзеров, либо требовать разлочить систему. А это всё драгоценное время, за которое можно принять какие-то меры.
Чтобы залочить комп по сети, достаточно выполнить следующую командочку (опять же с помошью утилиты psexec):
psexec \\IP -u Administrator -p password rundll32.exe user32.dll,LockWorkStation
Можете поиграться с залочиванием компьютера своего соседа
Если компьютеры находятся в домене, а вы имеете права администратора домена, попробуйте выполнить:
FOR %I IN (список) DO start psexec \\сетка.%I rundll32.exe user32.dll,LockWorkStation
где "сетка" - это начальные цифры IP-адреса вашей локальной сети, например, 192.168.0
ну а "список" - это последние цифры IP-адресов, через запятую.
Например, чтобы залочить компютеры с IP-адресами 192.168.0.5, 192.168.0.20 и 192.168.0.55 надо написать так:
FOR %I IN (5,20,55) DO start psexec \\192.168.0.%I rundll32.exe user32.dll,LockWorkStation