2009-10-06 8 views
0

Je sais que je peux obtenir le nom de domaine complet en utilisant le domaine réseau Windows NT. Je voudrais faire l'inverse: Ex: User.Identity.Name = "slaterock \ fflintstone"; Active Directory renvoie le nom de domaine complet de slaterock.bedrock.us.com. Je voudrais être en mesure d'obtenir la partie domaine de User.Identity.Name en interrogeant Active Directory (LDAP) par cet utilisateur. Je serais en utilisant l'adresse e-mail de l'utilisateur: (& (objectClass = user) (objectCategory = personne) ([email protected]))Active Directory et ID réseau

Je n'ai aucun problème de retourner les attributs AD, mais je ne peux pas trouver un lien absolu entre les attributs que j'ai et le nom de domaine retourné dans User.Identity.Name. J'en vois des parties dans les composants du domaine (DC = slaterock, DC = roche mère, DC = US, DC = bla, bla) mais j'ai besoin du lien direct.

Merci

Répondre

1

D'abord, un peu de terminologie pour être clair (et pour aider toutes les recherches que vous faites):

  • le « slaterock » dans « slaterock \ fflintstone » est le nom de domaine NetBIOS le domaine.
  • 'DC = Slaterock, DC = substrat, DC = États-Unis, DC = blah, blah' est le defaultNamingContext pour le domaine.
  • CN = fred flinstone, OU = Quarry1, DC = slaterock, DC = substrat rocheux, ... est le nom distinctif du compte utilisateur.

Pour traduire de la distinguishedName de l'utilisateur au nom de domaine NetBIOS de leur domaine:

  • obtenir distinguishedName et hacher pour obtenir le defaultNamingContext du compte utilisateur.
  • Puis effectuez une recherche sur le conteneur: "CN = Partitions, CN = Configuration, DC = JohnLewis, DC = co, DC = Royaume-Uni" pour un objet avec une valeur nCName qui correspond à defaultNamingContext ci-dessus. Obtenez l'attribut nETBIOSName de cet objet et vous avez ce que vous cherchez.
Questions connexes