2014-03-07 4 views
0

내 웹 서버의 PHP 파일에서 PowerShell 명령을 실행하려고합니다. 여기 PHP에서 Powershell 명령 실행

내 PHP 코드입니다 :

<?php 
$query = shell_exec('C:\\Windows\\syswow64\\WindowsPowerShell\\v1.0\\powershell.exe -command Get-Host'); 
echo $query; 
?> 
내가 얻을 결과는 HTTP 오류 500

- C : 오류 코드 0x80070102

- - FastCGI 프로세스가 구성 활동 제한 시간을 초과 \ PHP의 \ PHP를-cgi.exe

shell_exec 및 php가 작동하는지 확인하기위한 테스트를 수행하려면 (환경 설정시 문제가 발생하지 않았 음). 윈도우의 명령 프롬프트에서 \ 명령이 일

<?php 
$query = shell_exec('dir c:\\'); 
echo $query; 
?> 

, 페이지 소스 당신이 디렉토리의 C를 실행 한 경우 기대 정확히처럼 보였다 : 나는이 PHP를 시도했다.

나는 technover뿐만 아니라 stackoverflow에서 여러 다른 기사를 보았으며이 문제를 일으키는 원인을 식별 할 수없는 것처럼 보입니다. 명령 프롬프트에서 동일한 명령을 실행하면 결과가 매우 빨라집니다.

C:\>C:\Windows\syswow64\WindowsPowerShell\v1.0\powershell.exe -command Get-Host 


Name    : ConsoleHost 
Version   : 2.0 
InstanceId  : 9a24a372-f0a3-4a79-b9fd-1e180e9a8069 
UI    : System.Management.Automation.Internal.Host.InternalHostUserI 
       nterface 
CurrentCulture : en-US 
CurrentUICulture : en-US 
PrivateData  : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy 
IsRunspacePushed : False 
Runspace   : System.Management.Automation.Runspaces.LocalRunspace 

내 환경에 대한 약간의 : 내가 실행 해요

7.5을 IIS 여기

은 (당신이 기대하는 것을 다시) 명령 프롬프트에서 수동으로 같은 명령을 실행의 결과입니다 Windows 2008 R2 SP1 Standard Server에서 실행됩니다.

서버는 독립형 (도메인의 일부가 아님)입니다.

PHP 5.5.9를 설치하고 작동합니다. phpinfo()는 눈에 띄는 에러없이 예상 한 페이지를 반환합니다.

PHP에서 powershell 명령을 실행하는 데 도움이되는 모든 도움을 주시면 감사하겠습니다!

답변

0

이 시도 :

$query = shell_exec('C:\\Windows\\syswow64\\WindowsPowerShell\\v1.0\\powershell.exe -command Get-Host < NUL');