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?
Es gibt eine spezielle Berechtigung um proxyAdresses zu ändern.
Erstellen und Löschen ist kein Problem, nur die Modifikation erfordert ein bestimmtes Recht:
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#?