J'y travaille depuis un moment et je reçois toujours:
System.DirectoryServices.AccountManagement.PrincipalServerDownException
Ce qui, je pense, signifie que ma configuration de connexion (chaîne de connexion) est incorrecte.
Lorsque j'écris "dsquery server" sur cmd sur l'ordinateur où se trouve Active Directory, j'obtiens:
"CN = DCESTAGIO, CN = SERVEURS, CN = Default-First-Site-Name, CN = Sites, CN = Configuration, DC = estagioit, DC = local"
J'ai essayé la connexion suivante des manières suivantes:
1:
PrincipalContext thisPrincipalContext = new PrincipalContext(ContextType.Domain, "192.168.56.101", "DC=estagioit,DC=local");
2:
PrincipalContext thisPrincipalContext = new PrincipalContext(ContextType.Domain, "192.168.56.101/DC=estagioit,DC=local");
3:
PrincipalContext thisPrincipalContext = new PrincipalContext(ContextType.Domain, "192.168.56.101/CN=DCESTAGIO,DC=estagioit,DC=local");
4:
PrincipalContext thisPrincipalContext = new PrincipalContext(ContextType.Domain, "192.168.56.101/CN=DCESTAGIO,CN=SERVERS,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=estagioit,DC=local");
5:
PrincipalContext thisPrincipalContext = new PrincipalContext(ContextType.Domain, "LDAP://192.168.56.101/CN=Users,DC=estagioit,DC=local");
Et d'autres façons ...
Des idées sur ce qui ne va pas et comment je peux faire fonctionner cette connexion?
PS: l'ip est correcte vu que je l'ai utilisé pour ping et ça marche.
PPS: J'ai vraiment, vraiment besoin de ce travail dès que possible si vous avez des suggestions, ils sont tous les bienvenus.
Si vous regardez la documentation des constructeurs PrincipalContext
, cela devrait être assez clair:
public PrincipalContext(ContextType contextType, string name)
ou
public PrincipalContext(ContextType contextType, string name, string container)
Il vous faut donc essentiellement:
ContextType.Domain
)LDAP://
préfixe)Essayez donc quelque chose comme ceci:
PrincipalContext thisPrincipalContext =
new PrincipalContext(ContextType.Domain, "ESTAGIOIT");
ou
PrincipalContext thisPrincipalContext =
new PrincipalContext(ContextType.Domain, null); // default domain
ou
PrincipalContext thisPrincipalContext =
new PrincipalContext(ContextType.Domain, "ESTAGIOIT", "DC=estagioit,DC=local");
ou
PrincipalContext thisPrincipalContext =
new PrincipalContext(ContextType.Domain, null, "CN=Users,DC=estagioit,DC=local");