当社のシステムには、Webサイドスクリプトを処理するサーバーとActive Directoryのすべての情報を含むサーバーという2つのサーバーがあります。それらを "webServer"と "adServer"と呼ぼう。PHPスクリプトから別のサーバーでPowershellスクリプトを実行していますか?
ADアカウントのパスワードの有効期限を返す、adServer上のPowershell(V5)スクリプトがあります。私はユーザーがユーザー名を入力してから、そのアカウントのパスワードの有効期限を印刷することができるWebサーバー上にPHPスクリプトを作成しています。したがって、私はこのPHPスクリプトからPowershellスクリプトを呼び出す必要があります。
PowershellスクリプトをPHPで実行するにはshell_exec()を使用しますが、別のサーバーでスクリプトを実行するにはどうすればよいですか? Cと仮定すると:\ pwdDate.ps1はAdServerの上のファイル・パスで、これは私が今持っているすべてです:
$pwdExpDate = shell_exec('powershell -File C:\pwdDate.ps1 -Username $username');
echo $pwdExpDate
'これは私が今持っているすべてです.' - シングルクォート文字列の中で$ usernameを使うことができないので、実行されません。 PHPからADへのLDAPを使用していない理由は何ですか?インターネット上にはそのような例がたくさんあります。 – TessellatingHeckler