2012-12-06 21 views
8

Ich habe das Beispiel in this page verwendet, um einen Benutzer zu einer Active Directory-Gruppe hinzuzufügen, aber ich bekomme eine Ausnahme mit der Nachricht "Server ist nicht bereit, die Anfrage zu verarbeiten "wennServer ist nicht bereit, die Anfrage zu verarbeiten - Active Directory - Benutzer über C hinzufügen #

dirEntry.Properties["member"].Add(userDn);

+0

Ich möchte auch Verweis auf Link hinzufügen [C#: Der Server ist nicht bereit, die Anfrage zu verarbeiten] (http://nzpcmad.blogspot.in/2012/03/c-server-is-unwilling-to-process .html). Der Link war hilfreich für mich. –

+0

@Mauricio Ich würde Sie bitten, Ihre eigene Frage zu beantworten. Weil diese Frage Treffer bekommt, damit man antworten kann. Aber dann stellt er fest, dass es beantwortet wurde. Es wird also gut sein, wenn Sie es selbst beantworten können. –

Antwort

1

Ausführung Diese Frage hat mich viel Zeit zu lösen. Zunächst sieht die Fehlermeldung wie ein Witz aus. Zweitens gibt es nichts mehr, nur diese Botschaft.

Wie auch immer, ich schaffte es zu beheben, indem Sie:.

  1. sicher zu machen, dass userDn den gesamten Pfad enthält (zB "LDAP://server-address/CN=" + userDn + ",OU=optional,DC=your-domain,DC=com" Dies ist eigentlich sehr wichtig, wenn Sie den vollständigen Pfad nicht liefern es wird eine Ausnahme von HRESULT werfen: 0x80005000

  2. Ersetzen dirEntry.Properties["member"].Add(userDn); von entry.Invoke("Add", new object[] { userDn });

  3. .

Dann wollte ich einen Benutzer entfernen und ich erwartete entry.Invoke("Remove", new object[] { userDn }); zu arbeiten. Allerdings wird diese teuflische AD nur funktionieren, wenn Sie Kleinbuchstaben "Entfernen" verwenden, so funktioniert entry.Invoke("remove", new object[] { userDn }); für mich.

+0

Sie hatten wahrscheinlich die falsche Art von Sucher. Es ist nicht erforderlich, den vollständigen LDAP-Pfad zu verwenden, es sei denn, Sie arbeiten nicht mit den LDAP-Klassen, sondern mit DirectorySearch und DirectoryEntry auf höherer Ebene. Diese Ausnahme wird immer ausgelöst, wenn das Format des Werts nicht akzeptabel ist. Ich stimme zu, dass die Nachricht albern ist und in eine Validierungsausnahme geändert werden sollte, mit klarer Angabe, welche Validierungsprüfung fehlgeschlagen ist. –

+0

Vielleicht haben Sie indirekt einen Workaround gefunden, aber ich denke, Ihr Problem wurde mehr durch den Typ des Suchers/Root-Eintrags verursacht (zB müssen Sie den Sucher erstellen, der Ihren Eintrag aus einem globalen Katalog, manchmal einem DC, manchmal einer Domain erzeugt) . –

4

Ich hatte ein ähnliches Problem, wo ich versuchte, ein Mitglied zu einer Gruppe hinzuzufügen. Speziell versuchen, eine Gruppe zu einer Gruppe hinzuzufügen und den gleichen hilfreichen Fehler zu erhalten "Der Server ist nicht bereit, die Anfrage zu bearbeiten" Die Antwort des OP funktionierte nicht für mich.

Der Grund, warum ich keine Gruppe zu meiner Gruppe hinzufügen konnte, war, dass die Gruppe, zu der ich Mitglieder hinzufügen wollte, eine globale Gruppe war, während sie eine universelle Gruppe sein musste. Hoffe, das hilft jemandem.

+0

Ja, dieser Fehler wird immer ausgelöst, wenn der im Update angeforderte Datentyp abgelehnt wird. In Ihrem Fall die Art der Gruppe, in meinem Fall ein weiterer Fehler mit dem DN-Wert. –