Как запустить исполняемый файл с сайта PHP от имени конкретного пользователя Windows?

По умолчанию PHP работает подIUSR учетная запись. При непосредственном выполнении:

$lastline = exec('D:\\MyProgram.exe', $output, $return_var);

Он запускается, но программа не может выполнять свои задачи из-за недостаточных привилегий. Мой вопрос:Как запустить исполняемый файл под определенной учетной записью Windows с веб-сайта PHP?

Я пробовал:

Когда выполняется черезSysinternals PsExec:

$lastline = exec('D:\\PsExec.exe -u UserName -p Password -accepteula "D:\\MyProgram.exe"', $output, $return_var);

MyProgram.exe даже не выполняется вообще. PHP выбрасывает пустой вывод и return_var-1073741502, Я предполагаю, что это своего рода необработанное исключение.

Когда выполняется черезlsrunas:

$lastline = exec('D:\\lsrunas.exe /user:UserName /password:Password /domain:DOMAIN /command:"D:\\MyProgram.exe" /runpath:D:\\', $output, $return_var);

MyProgram.exe также не выполняется. PHP выбрасывает пустой вывод и return_var0.

Встроенный в Microsoftrunas Команда не работает, потому что она не принимает пароль в качестве параметра.

Пробовал использовать разные функции PHP, такие какshell_exec, system а такжеpassthru

Попытался создать новый пул приложений под IIS, чтобы запустить веб-сайт под локальным сервисом, системой или конкретным пользователем. РЕДАКТИРОВАТЬ: Это где я ошибся. Он должен работать, но не работает, если параметр «Загрузить профиль пользователя» не включен (шаг 3 в моем ответе).

У кого-нибудь есть рабочие предложения?

Примечание. Все команды работают и тестируются напрямую через командную строку.

Ответы на вопрос(1)

Ваш ответ на вопрос