> For the complete documentation index, see [llms.txt](https://docs.pascom.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pascom.net/integrations/connector/contacts-active-directory.md).

# Kontakte aus Microsoft Active Directory

Synchronisieren Sie Ihre Telefonbuch-Einträge gegen das Microsoft Active Directory

## Microsoft Active Directory

Um die Daten aus dem Active Directory auslesen zu dürfen brauchen Sie einen Benutzer mit entsprechender Berechtigung. Natürlich könnten Sie dazu den Active Directory Administrator verwenden. Da PASCOM die Zugangsdaten für den wiederholten Import abspeichern muss und der Administrator mit wesentlich mehr als den benötigten Rechten ausgestattet ist, bietet es sich an einen eigenen Benutzer für PASCOM anzulegen:

Wenn Sie *mobydick* als Benutzernamen verwenden wird dieser beim Import durch den LDAP-Filter erkannt und nicht automatisch als Benutzer auf der Telefonanlage mit angelegt.

Vergeben Sie für den PASCOM Benutzer ein Passwort und markieren Sie *Kennwort läuft nie ab*. PASCOM authentifiziert sich am Active Directory bei jedem Connector-Lauf. Wenn Sie das Passwort ändern möchten müssen Sie das sowohl in Active Directory als auch im PASCOM Connector machen:

## Connector-Profil "Telefonbuch aus AD"

Erstellen Sie ein neues Connector-Profil indem Sie in der PASCOM Web-UI unter dem Menüpunkt **Einstellungen** > **Connector** auf **Hinzufügen** klicken.

Wählen Sie die Vorlage *Telefonbuch aus AD* und tragen Sie folgende Daten ein:

| Feld                              | Beschreibung                                                                                                         |
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| **Bezeichung**                    | Name des Connectors                                                                                                  |
| **AD Domäne**                     | Active Directory Domain Name                                                                                         |
| **AD Server**                     | Server IP oder DNS-Name des Hosts                                                                                    |
| **SSL aktivieren**                | **JA**: zu Active Directory via sicherer SSL-Verbindung verbinden. **NEIN**: zu Active Directory ohne SSL verbinden. |
| **Benutzername** und **Passwort** | Der zuvor im AD angelegte PASCOM Benutzer zur Authentifizierung                                                      |

Nach dem Speichern kann die Vorlage im Reiter **Basisdaten** bei Bedarf angepasst werden.

### Basisdaten

In den Basisdaten konfigurieren Sie die Verbindung zu Ihrem Active Directory genauer oder können die zuerst konfigurierten Einstellungen ändern.

| Feld                              | Beschreibung                                                                                                                                                                                                                                                                                                                                                                 |
| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Bezeichung**                    | Name des Connectors (*wird automatisch befüllt*)                                                                                                                                                                                                                                                                                                                             |
| **Modus**                         | **Neue Sätze importieren, geänderte abgleichen und früher importiere Datensätze entfernen**: (*Standardauswahl*) Importiert nur neue Telefonbucheinträge und gleicht geänderte Einträge ab, alte Einträge werden entfernt. **Neue Sätze importieren und geänderte abgleichen**: Importiert neue Telefoneinträge und gleicht geänderte ab. Es werden keine Einträge entfernt. |
| **URI**                           | Uri zur Active Directory Domain (*wird automatisch befüllt*)                                                                                                                                                                                                                                                                                                                 |
| **Basis DN**                      | Basis DN Einträge zum Active Directory (*wird automatisch befüllt*)                                                                                                                                                                                                                                                                                                          |
| **Benutzername** und **Passwort** | Der zuvor im AD angelegte PASCOM Benutzer zur Authentifizierung (*wird automatisch befüllt*)                                                                                                                                                                                                                                                                                 |
| **Suchfilter**                    | LDAP-Suchfilter zur Filterung des auszulesenen Telefonbuch-Ordners (*wird automatisch befüllt*)                                                                                                                                                                                                                                                                              |
| **Dokumentation**                 | Dient zur Dokumentation/ Beschreibung des Connectors                                                                                                                                                                                                                                                                                                                         |

### Pre Filter

Im Standard importiert die Vorlage alle globalen Telefonbucheinträge mit ausgefülltem "Anzeigenamen" aus dem AD. Über den Reiter **Pre Filter** können Sie den Import eines bestimmten Telefonbuchs, z. B. *company-phonebook*, einschränken. Fügen Sie dazu folgenden Code ein:

```
# only import contacts with membership
if (!array_key_exists("memberOf", $row)) return false;

$groups = $row["memberOf"];
# turn a single group membership (string) into a list of memberships (array)
if (!is_array($groups)){
  $groups = array($row["memberOf"]);
}

# always search in a list of memberships
return preg_grep('/company-phonebook/i', $groups);
```

### Telefonbuchfelder im AD

| Active Directory        | PASCOM       | Beschreibung                                                                            |
| ----------------------- | ------------ | --------------------------------------------------------------------------------------- |
| Allgemein > Anzeigename | Anzeigename  | Der Anzeigename erscheint im Telefondisplay und im Journal der PASCOM App. Pflichtfeld. |
| Rufnummer > Privat      | Telefon      | Die Rufnummer des Kontakts.                                                             |
| Allgemein > Vorname     | Vorname      | Vorname des Kontakts.                                                                   |
| Allgemein > Nachname    | Nachname     | Nachname des Kontakts.                                                                  |
| Organisation > Firma    | Organisation | Firma des Kontakts.                                                                     |
| Rufnummer > Fax         | Fax          | Faxnummer des Kontakts.                                                                 |
| Allgemein > E-Mail      | EMail        | E-Mail Adresse des Kontakts.                                                            |
| Rufnummern > Mobil      | Handy        | Mobilnummer des Kontakts.                                                               |

Die Felder sind lediglich ein Vorschlag der Vorlage. Sie können Felder hinzufügen und entfernen bzw. die gesamte Import-Struktur beliebig anpassen.

### Importlauf testen und aktivieren

Nachdem Sie die Konfiguration abgeschlossen haben, können Sie durch die Schaltfläche **Speichern und Simulieren** testen welche Datensätze importiert werden würden. Wenn Sie mit dem Ergebnis zufrieden sind können Sie den Import entweder einmalig unter **Aktion** > **Import jetzt durchführen** ausführen oder durch die Schaltfläche **Automatisieren** eine regelmäßige Durchführung des Importes einrichten.

#### Anzeigenamen individualisieren

Der Anzeigename im PASCOM Telefonbuch wird bei ein- und ausgehenden Anrufen sowohl im Display Ihres Tischtelefons, als auch in Ihrer PASCOM App angezeigt. Wenn Sie den Anzeigenamen von Kontakten anpassen möchten, da der im Active Directory hinterlegte Anzeigename nicht Ihren Bedürfnissen oder den Anforderungen der Telefonanlage entspricht, können Sie dieses Feld natürlich individuell befüllen.

Woher die die Informationen aus Active Directory stammen finden Sie im Reiter **Variablen**. Standardmäßig wird der Anzeigename (*displayName*) aus dem Active Directory direkt übernommen.

| Variable    | Quelle                        |
| ----------- | ----------------------------- |
| displayname | `return $row['displayName'];` |

Da jedoch in der PASCOM Telefonanlage der Anzeigename nicht mehr als 80 Zeichen betragen darf, kann es notwendig sein den Anzeigenamen aus Active Directory heraus zu kürzen, oder falls gewünscht, aus anderen Feldern auszulesen.

Im nachfolgenden Beispiel wird der Anzeigename aus Active Directory auf die Länge geprüft und im Falle, dass der Anzeigename im Active Directory gar nicht gesetzt wurde, automatisch durch den Nachnamen (Surname) und Vornamen (Givenname) des Benutzers ersetzt und ebenfalls auf die maximale Länge von 80 Zeichen gekürzt.

Dazu wird im Reiter **Variablen** die **Quelle** der Variable *displayname* ersetzt durch folgenden Inhalt:

```
# check if displayname is empty
if (!empty($row['DisplayName'])) {

  # check if displayname has more than 80 chars and cut it if necessary
  if (strlen($row['DisplayName']) <= 80) {
    return $row['DisplayName'];
  }
  # displayname will be cut from 0 to 80 chars
  return substr($row['DisplayName'],0,80);
}

# if displayname is empty use a combination of "Surname" and "Givenname" 
# and also cut it if it's longer than 80 chars
return substr($row['Surname'] . ', ' . $row['GivenName'],0,80);
```

Anstelle von Vorname und Nachname, kann natürlich auch jedes andere Feld aus Active Directory ausgelesen und als Quelle für den Anzeigenamen dienen.

#### Optionale Änderungen

Sie möchten Änderungen an Quellvariablen oder der Connector Struktur vornehmen? Dann folgen Sie den folgenden Links zu den entsprechenden Anleitungen:

[Variablen Zuweisung](/integrations/connector/variables-assignment.md)

[Variablen Struktur](/integrations/connector/variables-structure.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.pascom.net/integrations/connector/contacts-active-directory.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
