Речь идет о команде 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
: на локальной машине или на удаленной машине? И, конечно же, как и почему это произошло ...