Je tente d'interroger AD dans une application ASP.Net (4.0) qui s'exécute sur Windows Server 2008 R2 (IIS7 installé). (Il échoue également lors de l'exécution en tant qu'application 2.0)Impossible d'interroger AD (obtenir une exception DirectoryServicesCOMException)
Ce n'est pas nouveau pour moi, comme je l'ai fait plusieurs fois auparavant. J'ai écrit un petit programme ASP.Net qui tourne bien sur ma propre machine (Windows XP avec IIS6), mais échoue lorsqu'il est exécuté sur la boîte 2008.
(Le résultat est que vous voyez une liste des groupes auxquels l'utilisateur est membre dans une zone de texte)
(on button_click)
var userName = txtUserName.Text;
if (userName.Trim().Length == 0)
{
txtResults.Text = "-- MISSING USER NAME --";
return;
}
var entry = new DirectoryEntry("LDAP://blah.blah/DC=blah,DC=blah",
"cn=acct, dc=blah, dc=blah",
"pass");
var search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + userName + ")";
search.PropertiesToLoad.Add("memberOf");
var groupsList = new StringBuilder();
var result = search.FindOne();
if (result != null)
{
int groupCount = result.Properties["memberOf"].Count;
for (int counter = 0; counter < groupCount; counter++)
{
groupsList.Append((string)result.Properties["memberOf"][counter]);
groupsList.Append("\r\n");
}
}
txtResults.Text = groupsList.ToString();
Quand je lance ce code, je reçois l'erreur suivante sur search.FindOne():
System.DirectoryServices.DirectoryServicesCOMException (0x8007203B): A local error has occurred.
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne)
at System.DirectoryServices.DirectorySearcher.FindOne()
at WebApplication1._Default.btnSearch_Click(Object sender, EventArgs e)
Nous avons fait beaucoup de recherches sur ce sujet et nous avons modifié tous les paramètres IIS7 auxquels nous pouvons penser, mais pas pour autant. Des indices?
qui fonctionne! Merci! – KevinDeus
Avait le même problème sur Windows 7, mais il fonctionne très bien sur WinXP. Heureusement, mon collègue m'a envoyé ce post. Merci. – Ghazaly