- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「Active Directoryプロパティがキャッシュに見つかりません」の回避)
Active Directoryプロパティがキャッシュに見つかりません - 回避方法
このQ&Aのポイント
- Active Directoryにアクセスしてユーザーを検索し表示するVBAスクリプトで、システムに初めから登録されているユーザーのFullNameプロパティが登録されていない場合、'Active Directoryプロパティがキャッシュに見つかりません'というエラーが発生します。
- FullNameプロパティの有無を判別する関数は存在しないため、回避策としてはAdministratorなどのユーザーにFullNameプロパティを登録するか、他のプロパティを使用してユーザーを特定することが考えられます。
- Active Directoryプロパティの設定を変更せずにエラーを回避するためには、ユーザーを検索する際にFullNameプロパティの値が存在するか確認し、エラーが発生しないような処理を追加する必要があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> FullNameプロパティの有無を判別してif等で処理を分けたいのですが、 > プロパティの有無を確認する関数がわかりません。 Active Directory は良く知りませんが、取得できないならできないで 一般的なエラートラップを組み込めば良いのでは? Do Until objRecordSet.EOF Set objUser = GetObject(objRecordSet.Fields("AdsPath").Value) If objUser Is Nothing Then Debug.Print "例外処理" Else Debug.Print objUser.FullName End If objRecordSet.MoveNext Loop とか、On Error ステートメントで Do Until objRecordSet.EOF On Error Resume Next Set objUser = GetObject(objRecordSet.Fields("AdsPath").Value) If Err Then Debug.Print "例外処理" Else Debug.Print objUser.FullName End If On Error Goto 0 objRecordSet.MoveNext Loop とか。コードの内容まではみてませんが...
お礼
回答ありがとうございます。 とりあえずエラートラップでやってみようと思います。