LDAP クエリを作成して Active Directory を検索し、結果をフィルタリングして、lastLogonTimestamp フィールドの値が 30 日より古いユーザーのみを返すようにしようとしています。
私が探している LDAP フィルターは次のようなものです。
"(&(ObjectClass=User)(lastLogonTimestamp<=" + lastLogonTimeStampLimit + "))"
私の問題は、Active Directory 内の lastLogonTimestamp フィールドの .net DateTime 値を正しい形式に変換する方法を見つけることができなかったことです。これは「Integer8」データ型であることがわかりました。
それが役立つ場合は、逆の変換を見つけました:
DateTime.FromFileTime((long)(user.Properties["lastLogonTimestamp"][0]))