Powershell с PHP на IIS

0

У меня есть файл index.php, у которого есть кнопка, запрашивающая другой php файл с именем script.php.

Эта веб-страница размещена на моем локальном IIS, работающем под управлением Windows Server 2012 R2 DTC.

Местоположение файлов: c:\inetpub\wwwroot

Я установил PHP. Он работает нормально.

Я могу получить результат, если я запустил эту команду в консоли powershell, но не ответил при вызове с веб-страницы. Я установил политику выполнения без ограничений как для 32, так и для 64-битной оболочки, но по-прежнему не помог.

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;
?>

Когда я запускаю индекс файла php в браузере, я получаю следующее сообщение об ошибке.

Get-Service: не удается открыть диспетчер управления сервисом на компьютере. '. Для этой операции могут потребоваться другие привилегии. В строке: 1 char: 1 + Get-Service + ~~~~~~~~~~~ + CategoryInfo: NotSpecified: (:) [Get-Service], InvalidOperatio nException + FullyQualifiedErrorId: System.InvalidOperationException, Microsoft.Power Shell.Commands.GetServiceCommand

Для файлов и сообщений об ошибке, ссылка для ссылки http://cloudbrox.com/o9tj/

  • 0
    Взгляните на мою правку, чтобы увидеть, как выглядит форматирование
  • 0
    Большое спасибо Мэтт. это отличная помощь.
Теги:
powershell
iis

1 ответ

2

Что вы получаете при запуске этого кода:

<?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, и/или предоставления соответствующих разрешений для этой учетной записи.

  • 0
    AuthenticationType: согласование ImpersonationLevel: нет IsAuthenticated: True IsGuest: False IsSystem: False IsAnonymous: False Name: NT AUTHORITY \ IUSR Владелец: S-1-5-17 Пользователь: S-1-5-17 Группы: {S-1-1 -0, S-1-5-32-545, S-1-2-1, S-1-5-11 ...} Маркер: 1048
  • 0
    Спасибо Goyuix, выше это выход. Хост не присоединен ни к какому домену. Это имеет какое-то значение?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню