За последние 24 часа нас посетил 21881 программист и 1009 роботов. Сейчас ищут 727 программистов ...

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

Тема в разделе "PHP для новичков", создана пользователем health_dim, 20 апр 2021.

  1. health_dim

    health_dim Активный пользователь

    С нами с:
    20 сен 2017
    Сообщения:
    5
    Симпатии:
    0
    Добрый день!
    Не профессионально программирую, больше как хобби.

    Подскажите может кто помочь.. Пытаюсь реализовать 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 \\имя-пк', от имени доменного админа, то все работает
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
    php скрипт где отрабатывает ? а где комп удаленный надо отключить... Вы пытаетесь сервер отрубить
     
  3. health_dim

    health_dim Активный пользователь

    С нами с:
    20 сен 2017
    Сообщения:
    5
    Симпатии:
    0
    Прошу прощения если не понятно объясняю..

    Есть команда "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 находится в том же домене что и сервер и все видят друг друга без ограничений.
    Выключать сервер не собираюсь)
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754
    А IIS ваш выполняется с правами администратора? Что-то сомневаюсь
     
  5. health_dim

    health_dim Активный пользователь

    С нами с:
    20 сен 2017
    Сообщения:
    5
    Симпатии:
    0
    Разобрался..

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

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