2010-01-21 114 views
0

我有一个查询可以根据modifytimestamp属性获取广告用户。基于modifytimestamp属性从Active Directory获取用户 - 生成错误

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
精细服务器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

你粘贴代码似乎在第一行末尾有一个分号,这将使下行的字符串不是任何内容的一部分。如果这不是错误(或者至少只是代码的粘贴错误,而不是您的原始代码中的错误),我不熟悉AD查询,但我已经看到UTC结尾的DATETIME标记以单个字母“Z”(以前没有看过“.OZ”)。另外,确认函数不需要日期和时间部分之间的更多字符(例如日期部分和时间部分之间的冒号之间的连字符,以及之间的空格等)。

0

在发布代码中,第一行的日期时间字符串在末尾具有.OZ(字母O Z)。你希望它是.0Z(零Z)。

相关问题