2010-01-21 55 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)。

相關問題