У меня есть файл index.php, который имеет кнопку, которая запрашивает другой файл php с именем script.php.
Эта веб-страница размещена на моем локальном IIS под управлением Windows Server 2012 R2 DTC.
Расположение файлов: c:\inetpub\wwwroot
Я установил PHP. Работает нормально.
Я могу получить вывод, если я запускаю эту команду в консоли powershell, но не получаю ответа при вызове с веб-страницы
Я установил неограниченную политику выполнения как для 32-разрядных, так и для 64-разрядных PowerShell, но все равно не помог.
index.php
<form id="contact-form" method="post" action="script.php">
<input type="submit" class="button orange" name="submit" value="Check Services">
<form>
скрипт php
<?php
$output=shell_exec('powershell.exe "Get-Service"');
echo $output;
?>
Когда я запускаю файл index php в браузере, я получаю следующее сообщение об ошибке.
Get-Service: Невозможно открыть диспетчер управления службами на компьютере ‘.’.
Эта операция может потребовать других привилегий. В строке: 1 символ: 1 +
Get-Service + ~~~~~~~~~~~ + CategoryInfo: Не указано: (:)
[Get-Service], InvalidOperatio nException + FullyQualifiedErrorId:
System.InvalidOperationException, Microsoft.Power
Shell.Commands.GetServiceCommand
Для файлов и сообщений об ошибках, ссылка на ссылку
http://cloudbrox.com/o9tj/
Что вы получаете, когда запускаете этот код:
<?php
$output=shell_exec('powershell "[Security.Principal.WindowsIdentity]::GetCurrent()"');
echo $output;
?>
Вот пример выходных данных, которые я получу, запомните поле Name:
AuthenticationType : NTLM
ImpersonationLevel : None
IsAuthenticated : True
IsGuest : False
IsSystem : False
IsAnonymous : False
Name : SHADOWFAX\Goyuix
Скорее всего, учетная запись, которую использует PHP, просто не имеет необходимых прав для получения списка служб, работающих на локальном компьютере. Это поможет вам идентифицировать эту учетную запись, а затем вы сможете успешно оценить варианты изменения учетной записи, используемой PHP, и / или предоставления соответствующих разрешений для этой учетной записи.
Других решений пока нет …