2010-07-07 7 views
1

Je reçois l'erreur suivante lorsque j'essaie d'énumérer les utilisateurs dans LDAP (Lightweight Directory Access Protocol). J'ai vérifié ma chaîne de connexion au serveur (LDAP: // domainname). Le serveur est bien sûr en ligne et opérationnel.Erreur lors de l'énumération des utilisateurs dans LDAP

Message d'erreur: Le serveur ne fonctionne pas
Stack Trace

[2264] System.Transactions Critical: 0 : 
[2264] <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Unhandled exception</Description><AppDomain>DefaultDomain</AppDomain><Exception><ExceptionType>System.Runtime.InteropServices.COMException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>The server is not operational. 
[2264] </Message><StackTrace> 
[2264] Server stack trace: 
[2264] at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) 
[2264] at System.DirectoryServices.DirectoryEntry.Bind() 
[2264] at System.DirectoryServices.DirectoryEntry.get_AdsObject() 
[2264] at System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne) 

Mise à jour - code ajouté

DirectoryEntry dirEntry = new DirectoryEntry("_LDAP://DOMAINNAME", "userName", "password"); 
System.DirectoryServices.DirectorySearcher dirSearcher = new System.DirectoryServices.DirectorySearcher(dirEntry); 
     try 
     { 
      foreach (SearchResult resEnt in dirSearcher.FindAll()) 
      { 
       DirectoryEntry de=resEnt.GetDirectoryEntry(); 
       foreach (string propname in de.Properties.PropertyNames) 
       { 
        //Add to the datatable 
       } 
      } 
     } 
     catch (Exception ex1) 
     { 
      //Log exception 
     } 
     finally 
     { 
      dirEntry.Dispose(); 
      dirSearcher.Dispose(); 
     } 

Toute réflexion sur pourquoi ce expection pourrait se produire serait beaucoup apprécié?

Merci à l'avance,
Bharat K

+0

Pouvez-vous nous montrer votre code utilisé pour énumérer les utilisateurs? Quel chemin LDAP utilisez-vous? –

+0

Ont ajouté le code pour énumérer les utilisateurs. Ont également vérifié que le serveur existe ... –

Répondre

0

trouvé que la cause en est que j'utilisais le domaine nom court au lieu du nom complet. Le bon format est

DirectoryEntry dirEntry = new DirectoryEntry("LDAP://DOMAINFULLNAME", "userName", "password"); 
Questions connexes