Речь идет о команде shutdown с ключом /m \\MACHINE , который можно использовать для удаленного выключения (перезагрузки, сна и т.д.) Компьютера с Windows. В моем случае я имею дело с локальной домашней сетью между машинами Windows 7 и Windows 8. Домашняя группа отключена на всех машинах, а управление сетью осуществляется "традиционным" путем создания учетных записей пользователей с паролями на всех машинах.
Я где-то читал, что для выполнения этой команды удаленная учетная запись также должна быть зарегистрирована на удаленном компьютере получателя в качестве члена группы « Administrators ». Чтобы проверить это поведение команды shutdown я настроил две учетные записи пользователей с именами Test и Mike на локальной (выпускающей) машине Windows 7 Pro. Обе учетные записи принадлежали к обычной группе Users .
Я также отправился на удаленный (получатель) компьютер с Windows 8 Pro с именем FILES и создал там только одну учетную запись с именем Mike в качестве члена группы Users .
Теперь я вошел в систему как Test на моей локальной машине и выдал
shutdown /m \\FILES /r /f /t 0
Команда из командной строки. Я сразу получил ответ "Отказано в доступе". Это было ожидаемое поведение. Все идет нормально.
Затем я вошел как Mike на свою локальную машину и выполнил ту же команду. К моему удивлению, удаленная машина сразу ушла в перезагрузку. Что дает?
Я пошел на удаленный компьютер и открыл его параметры локальной политики безопасности. В его группе User Policies я нашел такие политики как
Force shutdown from a remote system = Administrators
Shut down the system = Administrators, Users
Я удалил Users из последней политики, оставив там только Administrators .
Я перезагрузил удаленный компьютер, снова вошел в систему как Mike на мою локальную машину и выполнил ту же команду. Удаленный компьютер снова по совместительству перешел в перезагрузку.
Забавная деталь в том, что когда Mike вошел в систему на компьютере FILES локально, он не может перезагрузить ее, поскольку для параметра « Shut down the system политики задано значение « Administrators , а Mike - просто User . Но тот же Mike может успешно перезагрузить FILES удаленно.
Итак, что здесь происходит? Почему я могу перезагрузить удаленную машину, используя учетную запись уровня User ? Более того, метко названная политика Force shutdown from a remote system установлено значение « Administrators , предполагает, что обычные учетные записи User не должны этого делать. Все же это перезагружается.
Что мне здесь не хватает? Что пропускает эта команда удаленной перезагрузки? Что я должен заблокировать и где запретить Mike возможность удаленной перезагрузки компьютера FILES ?
Дальнейшее расследование показывает следующие записи в журнале событий FILES
The process wininit.exe (192.168.1.2) has initiated the restart of computer FILES
on behalf of user FILES\Administrator for the following reason: No title for this
reason could be found
Reason Code: 0x800000ff
Shutdown Type: restart
Comment:
Такие записи соответствуют каждой команде удаленной перезагрузки, полученной FILES . 192.168.1.2 в этом случае - IP-адрес компьютера, который shutdown команду выключения . Таким образом, как правильно подсказал @ misha256, команда фактически выполняется на удаленной машине, как если бы она была выдана Administrator . Вот почему нынешние политики не блокируют его.
Теперь вопрос, где его удалось повысить от Mike до Administrator: на локальной машине или на удаленной машине? И, конечно же, как и почему это произошло ...
