Хорошо, я прочитал все форумы и другие SO сообщения, но безрезультатно. За это я бился головой об стену. У меня очень минимальная PHP-страница, подобная этой:
<?php
exec('PsExec.exe -accepteula \\\\192.168.10.11 -u "administrator" -p "Ph0nYP@sSw0rd" hostname', $output, $returnVar);
print_r($output);
print_r('Return value is: ' . $returnVar);
?>
Предполагается просто выполнить команду hostname
в 192.168.10.11. Я выполняю страницу, используя php.exe mypage.php
, но это всегда приводит к следующему:
Couldn't access 192.168.10.11:
The handle is invalid.
Connecting to 192.168.10.11...
PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Я убедился, что PSExec работает, выполняя ту же команду извне страницы php, т.е. PsExec.exe \\192.168.10.11 -u "administrator" -p "Ph0nYP@sSw0rd" hostname
Я подтвердил, что учетная запись администратора имеет доступ к целевому компьютеру
192.168.10.12 в Панели управления> Учетные записи пользователей> Предоставьте другим пользователям доступ к этому компьютеру
Я наблюдал захват Wireshark, когда я выполняю страницу PHP, но нет трафика. Поэтому я не знаю, успешно ли он запускает PSExec.
Я проверил работу с учетными данными, выполнив команду «Выполнить»>
\\ 192.168.10.12 \ c $ и введякредитки. Я могу просмотреть папку
.
Я пытался использовать PHP shell_exec и получить те же результаты
Итак, я знаю учетная запись имеет доступ , кредиты хороши , а PSExec работает . Кажется, что когда я обертываю это внутри php-страницы, что-то ломается. Что означает здесь «Ручка неверна»? И что еще я могу сделать, чтобы устранить неполадки или обойти это? Моя цель - в конечном итоге выполнить сценарий powershell в целевом окне, который будет использовать параметры в запросе POST к странице. Хотя я не женат на своем нынешнем методе, мне все еще очень любопытно, почему он не работает.