환경 : WINDOWS 2012 R2 + PHP + IIS
윈도우에서 사용하는 POWERSHELL(PS1) 스크립트를 PHP가 실행하여 해당 결과를 리턴받아 사용자에게 표시하는 기능이 필요했습니다.
일반적으로 리눅스에서는 exec(), shell_exec(), system()과 같은 함수를 사용하셔 bash script를 손쉽게 호출했고, 결과 값을 받아서 사용했었는데요.
윈도우에 해당 사항을 적용해보니 제대로 결과 값을 리턴하지 못하는 현상을 확인했습니다.
해당 스크립트 뒤에 2>&1 만 추가하면 파워쉘 실행후 파워쉘에서 결과를 리턴받아 웹에 출력이 가능합니다.
$output = shell_exec(‘powershell “get-user “testing” 2>&1“‘);
$fp = shell_exec(“$command 2>&1“); |
출처 : http://stackoverflow.com/questions/2360228/php-to-powershell-using-shell-exec