unirse siguiente servidor servicio requieren registro qué puede pudo promover porque por poner para nomenclatura nombre ningún motivo intentar iniciar ingresar informacion funcional este esta especificada error equipo encuentra encontrado dominio deshabilitado datos controlador contacto consulta con cambios cambiar active c# active-directory

c# - siguiente - qué datos se requieren para ingresar un equipo en un dominio de windows



¿Por qué no se puede contactar al servidor de Active Directory a través de PrincipalContext? (3)

Puedes probar el siguiente código.

public bool FindUser2(string userName) { try { DirectoryContext context = new DirectoryContext( DirectoryContextType.Domain, domainName, domainName + @"/" + domainUserName, domainPassword); DirectoryEntry domainEntry = Domain.GetDomain(context).GetDirectoryEntry(); DirectorySearcher searcher = new DirectorySearcher(domainEntry, "(|(objectCategory=user)(cn=" + domainUserName + "))"); SearchResult searchResult = searcher.FindOne(); return searchResult != null; } catch { return false; } }

Tengo problemas para acceder a Active Directory desde mi aplicación WinForm. Lo que quiero es crear un usuario y consultarlo desde Active Directory.

Aquí hay un fragmento de código para encontrar usuario:

public bool FindUser(string username) { using (PrincipalContext context = new PrincipalContext( ContextType.Domain, this.domainName, this.DomainUserName, this.DomainPassword)) { UserPrincipal user = UserPrincipal.FindByIdentity(context, username); return (user != null) ? true : false; } }

No puedo crear un objeto de PrincipalContext basado en argumentos dados. Estoy recibiendo esta excepción:

Exception: The server could not be contacted.

y la excepción interna dice que,

Inner Exception: The LDAP server is unavailable.

donde como dominio se está ejecutando. Puedo hacer ping y también puedo conectarme a este dominio.


También puede considerar el uso de System.DirectoryServices.Protocols para acceder a otros dominios. Una curva de aprendizaje bastante empinada, pero mucho más rápida y flexible, por ejemplo, puede realizar búsquedas asincrónicas adecuadas.


Puedes usar el siguiente código:

objectPath = "LDAP://CN=SC-5515_2,OU=Forus,DC=**MyDomainName**,DC=no"; public static bool Exists(string objectPath) { return DirectoryEntry.Exists(objectPath); }

Este es el código que he usado para esto. Funciona bien al probar si existen objetos en Active Directory.