Mitglied zu AD-Gruppe von einer vertrauenswürdigen Domäne hinzufügen

Ich habe zwei Domänen in einer vertrauenswürdigen Beziehung, die ich über eine C # -Webanwendung verwalten möchte. Dazu muss ich mich als zwei verschiedene technische Benutzer ausgeben, aber das funktioniert gut, sodass ich diesen Teil des Codes nicht hervorheben werde.

Um ordnungsgemäße und einfach zu verwaltende ACLs für das Dateisystem zu erstellen, muss

Erstelle eine Gruppe in domainA (OK!)Finde einen Benutzer in DomainB (OK!) Benutzer zur Gruppe hinzufügen (FEHLER beim Festschreiben von Änderungen, Fehlermeldung:There is no such object on the server. (Exception from HRESULT: 0x80072030))

Wenn ich einen Benutzer aus derselben Domain hinzufüge, funktioniert der Code perfekt. Ich glaube, hier fehlt nur eine kleine Teilinformation. Ich benutztedieses Dokumen als Referenz und sahdiese Frag auch (und ein paar mehr unter Berufung auf diese Fehlermeldung), aber keiner von ihnen hat geholfen.

Code (try-catch-Block zur Vereinfachung entfernt)

// de is a DirectoryEntry object of the AD group, received by the method as a parameter
// first impersonation to search in domainB
// works all right
if (impersonator.impersonateUser("techUser1", "domainB", "pass")) {
    DirectoryEntry dom = new DirectoryEntry("LDAP://domainB.company.com/OU=MyOU,DC=domainB,DC=company,DC=com", "techUser1", "pass");
    de.Invoke("Add", new object[] { "LDAP://domainB.company.com/CN=theUserIWantToAdd,OU=MyOU,DC=domainB,DC=company,DC=com" });
    // de.Invoke("Add", new object[] { "LDAP://domainA.company.com/CN=anotherUserFromDomainA,OU=AnotherOU,DC=domainB,DC=company,DC=com" });
    impersonator.undoImpersonation();
}

// second impersonation because the group (de) is in domainA
// and techUser2 has account operator privileges there
if (impersonator.impersonateUser("techUser2", "domainA", "pass"))
{
    de.CommitChanges();
    impersonator.undoImpersonation();
    return true;
}
else
{
    // second impersonation was unsuccessful, so return an empty object
    return false;
}

Line 6 funktioniert, wenn ich es debugge oder erzwinge, dass die Eigenschaften in HttpResponse geschrieben werden, ist es eindeutig da. Die LDAP-Abfragen scheinen also in Ordnung zu sein.

Auch wenn ich Zeile 6 auskommentiere und Kommentar 7 auskommentiere, füge ich im Grunde genommen einen Benutzer aus derselben Domäne hinzu, den ganze Sache funktioniert auf wundersame Weise. Bei domainB stecke ich fest. Irgendwelche guten Ratschläge?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage