IIS PHP и удаленная перезагрузка ПК

health_dim

Добрый день!
Не профессионально программирую, больше как хобби.

Подскажите может кто помочь.. Пытаюсь реализовать WEB-страничку в которой обычный пользователь кликает на определенный ПК, нажимает кнопку «перезагрузка», затем на IIS-сервер отправляется GET запрос и PHP оправляет команду на удаленную перезагрузку устройства…

Столкнулся с проблемой, что с PHP не хочет выполнить команду: shell_exec(‘shutdown /r /t 0 /m \имя-пк’).

В Application Pools, WEB-страница запускается от имени доменного админа. Соответственно если выполняю команду shell_exec(‘WHOAMI.exe /UPN’), то команда возвращает учетную доменного админа.

Если я ее запускаю через командную строку shutdown /r /t 0 /m \имя-пк’, от имени доменного админа, то все работает

 

MouseZver

php скрипт где отрабатывает ? а где комп удаленный надо отключить… Вы пытаетесь сервер отрубить

 

health_dim

Прошу прощения если не понятно объясняю..

Есть команда «shutdown /r /t 0 \имя-удаленного пк», которую если запускать с правами администратора в домене может перезапустить любой удаленный ПК внутри домена. Если я эту команду выполняю на сервере через командную строку, то все работает. Я хотел бы чтобы эта команда работала через PHP-скрипт, например с помощью shell_exec();

<?php
if($_GET){
$command = ‘shutdown /f /r /t 1 /m \test.domain.local’;
$result=shell_exec($command);
}
?>

Хочу сделать так чтобы определенный обычный пользователь открыл WEB-страницу, выбрал ПК, нажал одну кнопку и пошла перезагрузка

PHP- скрипт отрабатывается на Windows Server 2012 на котором поднят IIS и PHP.
Компьютеры Windows10 находится в том же домене что и сервер и все видят друг друга без ограничений.
Выключать сервер не собираюсь)

 

mkramer

А IIS ваш выполняется с правами администратора? Что-то сомневаюсь

 

health_dim

Разобрался..

Может кому пригодится, команда должна быть написана с экранированием обратных слешей (четыре слэша \\):

$command = ‘shutdown /f /r /t 1 /m \\test.domain.local’;

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *