Chcę znaleźć najbardziej specyficzną jednostkę organizacyjną, do której należy mój komputer w C#. Mam kod, który dostanie informacje, których potrzebuję, ale nie czuje się dobrze i wymagałoby skomplikowanego analizowania. Czy są lepsze alternatywy? Myśli? Każda pomoc jest doceniana!Jak mogę znaleźć jednostki organizacyjne, do których należy komputer? (Active Directory C#)
naprawdę czego chcę to equivilent do szybkiego komend:
dsquery computer -name COMP-HERE
Ale muszę go w C#, który okazuje się być problematyczne.
DirectorySearcher d = new DirectorySearcher("CN=COMP-HERE");
d.PropertiesToLoad.Add("adspath");
SearchResultCollection results = d.FindAll();
foreach (SearchResult searchResult in results) {
foreach (string propertyKey in searchResult.Properties.PropertyNames) {
ResultPropertyValueCollection valueCollection = searchResult.Properties[propertyKey];
foreach (Object propertyValue in valueCollection) {
Console.WriteLine(
"{0}:{1}",
propertyKey,
propertyValue.ToString());
}
}
}
Console.ReadLine();
Tak więc moja znajomość C# i Active Directory jest ograniczona ... Czy możesz nieco wyjaśnić, co dokładnie robi ten kod? Jestem trochę zdezorientowany przez PrincipalContext. Kod działa świetnie! Po prostu chcę to zrozumieć. – user1507986
Zobacz odpowiedź aktualizacja –
Jaki jest powód używania SkipWhile zamiast Gdzie? –