我有一个查询来根据modifytimestamp属性获取广告用户。
string datetime = acc.ToUniversalTime().ToString("yyyyMMddHHmmss") + ".OZ";
"(&(objectClass=User)(objectCategory=User)
(userAccountControl:1.2.840.113556.1.4.803:=2)(modifyTimestamp<=" + datetime +
"))";
上述查询在Windows Server 2008R2中生成以下错误,但它的工作原理为 在其他Windows Server OS中很好
错误:
The Server does not support the requested critical extension at System.DirectoryServices.SearchResultCollection.ResultsEnumerator.MoveNext() at DisabledUsers.Program.GetDisabledUsers(String tag, Int32 days) in C:\Users\hari\Documents\Visual Studio 2010\Projects(C#)\DisabledUsers\DisabledUsers\Program.cs:line 37 at DisabledUsers.Program.Main(String[] args) in C:\Users\hari\Documents\Visual Studio 2010\Projects(C#)\DisabledUsers\DisabledUsers\Program.cs:line 14 at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()
答案 0 :(得分:0)
您粘贴的代码似乎在第一行的末尾有一个分号,这会使较低行的字符串不属于任何内容。如果这不是一个错误(或者至少只是你的代码粘贴错误,而不是原始代码中的错误),我不熟悉AD查询,但我已经看到了UTC结尾的DATETIME标记,只有一个字母“Z”(之前没见过“.OZ”)。此外,确认该功能不希望日期和时间部分之间有更多字符(例如,时间部分之间的日期部分和冒号之间的连字符,以及之间的空格等)。
答案 1 :(得分:0)
在发布的代码中,第一行的日期时间字符串末尾有.OZ(字母O Z)。你希望它是.0Z(零Z)。