Ich habe den folgenden Code:Sortieren der Ergebnisse einer Directory Abfrage von Datetime
// Declare new DirectoryEntry and DirectorySearcher
DirectoryEntry domainRoot = new DirectoryEntry("LDAP://rootDSE");
string rootOfDomain = domainRoot.Properties["rootDomainNamingContext"].Value.ToString();
DirectorySearcher dsSearch = new DirectorySearcher(rootOfDomain);
// Set the properties of the DirectorySearcher
dsSearch.Filter = "(objectClass=Computer)";
dsSearch.PropertiesToLoad.Add("whenCreated");
dsSearch.PropertiesToLoad.Add("description");
dsSearch.PropertiesToLoad.Add("operatingSystem");
dsSearch.PropertiesToLoad.Add("name");
// Execute the search
SearchResultCollection computersFound = dsSearch.FindAll();
Ich möchte die Ergebnisse der whenCreated
Eigenschaft sortieren in absteigender Reihenfolge, so dass die neuesten Computerobjekte an der Spitze sind.
Ich kann nicht einfach tun:
SortOption sortedResults = new SortOption("whenCreated", SortDirection.Descending);
dsSearch.Sort = sortedResults;
, da der Server einen Fehler zurückgibt (http://social.technet.microsoft.com/Forums/en-US/winserverDS/thread/183a8f2c-0cf7-4081 -9110-4cf41b91dcbf /)
Was ist der beste Weg, um dies zu sortieren?
Im Allgemeinen gelöst, ich mit einer Lösung wie die oben als Server-Seite Sorten in AD sind beide ressourcenintensiv und fehleranfällig mit großen Ergebnismengen haften würde. –
Vielen Dank für die Antwort, ich denke, das wird funktionieren. Ich werde sehen, was ich tun kann. – Dbloom
Ich habe schließlich eine Klasse erstellt, die alle AD-Attribute für mich enthält, und dann eine SortedList 'erstellt. Dies erlaubte mir, die Elemente der Liste automatisch nach Datum geordnet zu halten, und die Reihenfolge umzukehren war so einfach wie: 'IEnumerable > revList = oldCompsList.Reverse();' –
Dbloom