PHP によって実行される powershell スクリプトを使用して Exchange サーバーにクエリを実行しようとしていますが、機能していないようです。私が実行しようとしているコマンドは次のとおりです。
powershell "Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010";"Get-CASMailbox -Identity user@example.com | fl ActiveSyncEnabled"
コマンドプロンプトに直接入力すると、正しく実行されて次のように返されます。
ActiveSyncEnabled : 真
PHPで試してみると:
$output=shell_exec('powershell "Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010";"Get-CASMailbox -Identity user@example.org | fl ActiveSyncEnabled"');
私は何も得ません。$output が設定されていますが、空白です。最後に "> output.txt" を追加すると、空白のテキスト ファイルが生成されます。PHP経由で他のより単純なpowershellコマンドを正常に実行できますが、これは実行できません。Apache サービスは、コマンド プロンプトからスクリプトを正常に実行したときと同じユーザーとして実行されています。
何か案は?
私は走っています:
- Windows Server 2008 R2 SP1 64 ビット
- アパッチ 2.2.22 32 ビット
- PHP 5.2.17 VC6 32 ビット
- Exchange 管理コンソール 2010