PHPで実行されたpowershellスクリプトを使用してExchangeサーバーを照会しようとしていますが、動作していないようです。私が実行しようとしてるのコマンドは次のとおりです。PHP経由でExchangeスナップインで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"を最後に追加すると、空白のテキストファイルが表示されます。私は他の、より簡単なpowershellコマンドをPHP経由で正常に実行できますが、これはできません。 Apacheサービスは、コマンドプロンプトでスクリプトを正常に実行したときと同じユーザーとして実行されています。
アイデア?
私が実行している:
- のWindows Server 2008 R2 SP1 64ビット
- のApache 2.2.22 32ビット
- PHP 5.2.17 VC6 32ビット
- Exchange管理コンソール2010
テスト目的のために、Apacheサービスを自分自身として実行するように設定しました。 PHPでは、exec( 'whoami')は、コマンドプロンプトでコマンドを正常に実行したときに使用したのと同じユーザー名であるdomain \ usernameを返します。このアカウントにアクセス許可の問題がないか、何か不足していますか? – amay83