我正在尝试创建一个 ldap 查询来搜索 Active Directory 并过滤结果以仅返回 lastLogonTimestamp 字段的值超过 30 天的用户。
我正在寻找的 ldap 过滤器是这样的:
"(&(ObjectClass=User)(lastLogonTimestamp<=" + lastLogonTimeStampLimit + "))"
我的问题是我无法找到任何方法将 .net DateTime 值转换为 Active Directory 中 lastLogonTimestamp 字段的正确格式,我读到该字段是“Integer8”数据类型。
如果有帮助,我发现了另一种方式的转换:
DateTime.FromFileTime((long)(user.Properties["lastLogonTimestamp"][0]))