PHP가 실행하는 powershell 스크립트를 사용하여 Exchange 서버를 쿼리하려고하는데 작동하지 않는 것 같습니다. 내가 실행하려고 해요 명령은 다음과 같습니다PHP를 통해 Exchange Snap-In을 사용하여 powershell 스크립트 실행
ActiveSyncEnabled : True
내가 PHP에서 그것을 시도 할 때 :
powershell "Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010";"Get-CASMailbox -Identity [email protected] | fl ActiveSyncEnabled"
내가 직접 명령 프롬프트로, 제대로 실행하는 반환을 입력하면
$output=shell_exec('powershell "Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010";"Get-CASMailbox -Identity [email protected] | fl ActiveSyncEnabled"');
나는 아무것도 얻지 못합니다. $ 출력은 설정되었지만 비어 있습니다. "> output.txt"를 끝에 추가하면 빈 텍스트 파일이 생깁니다. 필자는 PHP를 통해 다른 간단한 powershell 명령을 성공적으로 실행할 수 있지만이 명령은 사용할 수 없습니다. Apache 서비스는 명령 프롬프트를 통해 스크립트를 성공적으로 실행할 때와 동일한 사용자로 실행됩니다.
아이디어가 있으십니까?
나는 실행 해요 :
- 윈도우 서버 2008 R2 SP1 64 비트
- 아파치 2.2.22 32 비트
- PHP 5.2.17 VC6 32 비트
- Exchange 관리 콘솔 당신은 명령의 끝에서
2>&1
을 추가하려고 2010 년 5 월
테스트 목적으로 Apache 서비스가 나 자신으로 실행되도록 설정했습니다. PHP에서 exec ('whoami')는 명령 프롬프트에서 명령을 성공적으로 실행할 때 사용한 동일한 사용자 이름 인 domain \ username을 반환합니다. 이 계정에 권한 문제가 없어야합니까? 아니면 뭔가 누락 되었습니까? – amay83