Umfang der AD-Synchronisation
Die "Kommunikationsrichtung" der Synchronisation erfolgt ausschließlich aus dem Active Directory in das CRM. Es werden Mitarbeiter-Daten als auch Gruppenzuordnungen in das CRM synchronisiert und mit den jeweiligen Daten angereichert. Es werden keine Mitarbeiter-Datensätze im CRM gelöscht.
Die Standardlogiken sind über die Skriptklasse SC0EmployeeSyncLogic
abgebildet. Die Systembefehle befinden sich in den EmployeeSyncUtils
.
Mitarbeiterdaten
Die Synchronisierung von Mitarbeiter-Daten umfasst folgende Szenarien:
Bei der Neuanlage von Usern im Active Directory werden diese an das CRM-System übertragen und als Mitarbeiter-Datensätze angelegt
Bei der Aktualisierung von bereits synchronisierten Usern werden die neuen Informationen ins CRM-System übertragen
Die meisten synchronisierten Felder werden im CRM zur Bearbeitung gesperrt. Eine Ausnahme hiervon ist beispielsweise der Typ (Sex.Employee
) auf dem Mitarbeiter.
Die verfügbaren Skriptbefehle finden sich in den EmployeeSyncUtils
. Eine genaue Aufstellung der in der Standardausprägung synchronisierten Daten findet sich in der nachfolgenden Tabelle. Sollen Informationen in andere CRM-Felder synchronisiert werden, müssen die jeweiligen Skript-Befehle in der o.g. Skriptklasse übersteuert und die Feldnamen ausgetauscht werden.
Standard-Mapping-Feld | Skript-Befehl | Active Directory | Entra ID |
---|---|---|---|
|
| userprincipalname | userPrincipalName |
|
| department | department |
|
| ||
|
| proxyaddresses | otherMails |
|
| extensionAttribute1 | onPremisesExtensionAttributes.extensionAttribute1 |
|
| facsimiletelephonenumber | faxNumber |
|
| givenname | givenName |
|
| title | jobTitle |
|
| sn | surname |
|
| mailNickname | mailNickname |
|
| mobile | mobilePhone |
|
| telephonenumber | businessPhones |
|
| samaccountname | userPrincipalName |
|
| objectsid | id |
|
| company | companyName |
|
| manager | manager.id |
Über getUserExtensionAttribute
können weitere Attribute (extensionAttribute1-15 bzw. onPremisesExtensionAttributes.extensionAttribute1) synchronisiert werden. Andere Daten können aktuell nicht aus dem Active Directory ausgelesen werden.
Da in vielen ADs das Geschlecht eines Users nicht vorhanden ist und der Typ eines Mitarbeiters (Sex.Employee
) ein Pflichtfeld ist, wurde der Fallback auf den Typ “Divers” eingebaut. Diese Information muss dann im CRM manuell nachgepflegt werden.
Das Kürzel ShortCut.Employee
wird bei der Neuanlage von Mitarbeitern aus dem AutoLoginName im Active Directory / Entra ID gebildet.
Die Aufteilung der Telefonnummer aus dem AD in die verschiedenen Telefonfelder (Vorwahl, Rufnummer und Durchwahl) ist nur möglich, wenn entsprechende Trennzeichen (z.B. Klammer um die Vorwahl oder Bindestrich für die Durchwahl) im AD vorhanden sind. In der Methode splitPhoneNumber
sind die Möglichkeiten und Einschränkungen beschrieben.
Gruppenzuordnungen
Des Weiteren werden Gruppenzuordnungen ins CRM-System übertragen. Die Synchronisierung umfasst folgende Szenarien:
Bei der Neuanlage von Usern im Active Directory werden die Gruppenzuordnungen an das CRM-System übertragen
Befindet sich ein bereits vorhandener User im Active Directory nicht mehr in einer Gruppe und ist diese Zuordnung noch CRM-seitig vorhanden, so wird diese Zuordnung bei der nächsten Synchronisation aufgelöst.
Eine Neuanlage von Gruppen ist aktuell nicht vorhanden.
Für eine erfolgreiche Synchronisation von Gruppen ist eine Identifizierung über die Referenz-ID der Gruppe notwendig. Siehe hierzu auch den Abschnitt Synchronisation von Gruppen in dem Artikel Einrichtung der AD-Anbindung.
Die verfügbaren Skriptbefehle der Gruppen finden sich auch in den EmployeeSyncUtils
. Die zur Verfügung stehenden Skript-Befehle der Gruppen-Synchronisation ist sich nachfolgend aufgeführt:
Skript-Befehl | Active Directory | Entra ID |
---|---|---|
getGroupName | name | displayName |
getGroupDescription | displayname | description |
getGroupSyncId | objectsid | id |
Erläuterung der Synchronisationslogik
Die Zuordnung eines Mitarbeiters im CRM mit dem zugehörigen User im AD erfolgt über die E-Mail-Adresse. Dabei werden alle E-Mail-Adressen für die Identifikation herangezogen, die im Active Directory bzw. Entra ID bei dem User hinterlegt sind, und mit der E-Mail-Adresse im Mitarbeiterdatensatz (Email.Employee
) verglichen.
Ist der passende Mitarbeiterdatensatz im CRM identifiziert, wird die Synchronisations-ID (SyncId.Employee
) auf dem Mitarbeiter mit der User-ID aus dem AD gefüllt. Kann kein Mitarbeiter mit der gesuchten E-Mail-Adresse gefunden werden, wird ein neuer Mitarbeiterdatensatz angelegt.
Für den regelmäßigen Abgleich der Daten arbeitet die zugrunde liegende Logik mit Hashwerten, welche eine verkürzte Form der vorhandenen Informationen im Mitarbeiterdatensatz darstellen. Dabei wird der Hashwert der Daten aus dem CRM-System mit dem Hashwert der Daten aus dem Active Directory / Entra ID verglichen. Ist der Hashwert gleich, findet kein erneuter Abgleich statt, wie im folgenden Beispiel:
CRM-System | Active Directory | |
---|---|---|
Vorname | Max | Max |
Nachname | Müller | Müller |
Max.Müller@Firma.de | Max.Müller@Firma.de | |
Hashwert | ABC123DEF456GHI789 | ABC123DEF456GHI789 |
Ändert sich nun eine Information im AD, unterscheidet sich der Hashwert und die aktuellen Daten werden in das CRM-System übernommen:
CRM-System | Active Directory | |
---|---|---|
Vorname | Max | Max |
Nachname | Müller | Müller-Schmidt |
Max.Müller@Firma.de | Max.Müller-Schmidt@Firma.de | |
Hashwert | ABC123DEF456GHI789 | ABC123ZYX987WVU654 |