Laden...

Update DirectoryEntry: Wert ändert sich nicht

Erstellt von trib vor 7 Jahren Letzter Beitrag vor 6 Jahren 1.569 Views
T
trib Themenstarter:in
708 Beiträge seit 2008
vor 7 Jahren
Update DirectoryEntry: Wert ändert sich nicht

Guten Morgen zusammen,

ich habe eine Synchronisation gebaut, die Kontakte im AD ablegt, so dass diese in Outlook bereitstehen.
Ist der Kontakt bereits synchronisiert, müssen Änderungen natürlich nachgepflegt werden. Das funktioniert auch soweit, es sei denn: Die Mail-Adresse ändert sich.
Diese bleibt einfach wie sie ist...
Ist das eine AD-Spezifische Geschichte ala unveränderbarer UniqueID?
Muss ich den Eintrag löschen und neu anlegen?

Der Code ist recht simpel:

DirectoryEntry.Properties["mail"].Value = CleanupSpaces(eMail);
var proxyAdresses = "SMTP:" + CleanupSpaces(eMail) + ";smtp:" + custNo + "@xxx.de";
var seperator = ';';
DirectoryEntry.Properties["proxyAddresses"].Value = proxyAdresses.Split(seperator);
DirectoryEntry.Properties["telephoneNumber"].Value = phoneNo;
DirectoryEntry.CommitChanges();

Die Telefonnummer ändert sich, die Mail bleibt wie sie ist.
In einen Try-Catch läuft der Code nicht rein. Kann das aber auch leider schlecht debuggen, da der Code in einer Datenbank-Anwendung ausgeführt wird.

Hat jemand damit bereits Erfahrungen gemacht?

T
trib Themenstarter:in
708 Beiträge seit 2008
vor 6 Jahren

Es gibt eine spezielle Berechtigung um proxyAdresses zu ändern.
Erstellen und Löschen ist kein Problem, nur die Modifikation erfordert ein bestimmtes Recht:

MSDN: How to Use ADSI Edit to Apply Permissions

57 Beiträge seit 2012
vor 6 Jahren
Referenz-Übergabe

Wenn du einen String an die Methode übergibst, wird nur eine Kopie verwendet. Deswegen solltest du den Wert mit 'ref' übergeben, damit du das Original bearbeitest.

OO gibts seit Platon - hatte der auch C#?