私は次のコードを持っています:
$bind = new COM("LDAP://CN=GroupName,OU=Groups,OU=Division,DC=company,DC=local");
コマンドプロンプトから実行すると、正常に実行されます。IIS / PHP / ISAPIで実行すると、barfsします。
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `LDAP://CN=...[cut]...,DC=local':
An operations error occurred. ' in index.php
Stack trace:
#0 index.php: com->com('LDAP://CN=...')
#1 {main} thrown
IISはWindows認証用に構成されており(匿名、基本、ダイジェストなし)、コマンドプロンプトと同じユーザーとして接続しています。IISログファイルまたはイベントログに特定のエラーが見つかりません。
この演習の主な目的は、スクリプトにユーザークレデンシャルを保持せず、IIS認証に依存してそれらをActiveDirectoryに渡すことです。LDAPを使用して同じことを実行できることは理解していますが、私が知る限り、資格情報を渡すことはできません。
おそらく、ASPに移植しようとしたときに発生するエラーに何らかの形で関連しています。エラー80072020(現在検索中)が発生します。
イベントログには、異常なことは何も示されていません。警告もエラーもありません。完全なセキュリティ監査が有効になっており(セキュリティポリシーのすべての項目で成功と失敗)、Webページに対して認証したすべてのユーザーに対して成功したWindowsログオンが表示されます(これは予想されます)。