Как мне найти серверы каталогов для службы каталогов Sun ONE / Sun Java в C#
Я пытаюсь обнаружить серверы каталогов в разных каталогах. Для Active Directory я нашел два варианта:
использование System.DirectoryServices.ActiveDirectory.Domain
public static IEnumerable<string> GetDomainControllers()
{
var domain = Domain.GetDomain(new DirectoryContext(
DirectoryContextType.Domain,
"domain.com",
"user@domain.com",
"password"));
foreach (DomainController controller in domain.DomainControllers)
yield return controller.Name;
}
Использование DirectorySearcher:
public static IEnumerable<string> GetDomainControllers()
{
using (DirectoryEntry entry = new
DirectoryEntry("ldap://domain.com/dc=domain,dc=com", "user@domain.com", "password"))
using (DirectorySearcher searcher = new DirectorySearcher(entry,
"(&(objectCategory=computer)(|(primaryGroupID=516)(primaryGroupID=521)))"))
{
foreach (SearchResult result in searcher.FindAll())
yield return result.Properties["dnshostname"][0].ToString();
}
}
Однако ни один из них не работает с каталогом Sun ONE. Класс Domain, кажется, специфичен для AD, и я не смог найти ни одного запроса LDAP для sun ONE, который бы выполнял то же поведение, что и запрос AD.
Я ищу решение для перечисления серверов каталогов, предпочтительно в C#
заранее спасибо