[comment]: # translation:outdated

[comment]: # ({caf91c6b-f9e8f670})
# userdirectory.test

[comment]: # ({/caf91c6b-f9e8f670})

[comment]: # ({99f1236b-b5ff62ed})
### Beschreibung

`object userdirectory.test(array userDirectory)`

Mit dieser Methode können die Verbindungseinstellungen des Benutzerverzeichnisses getestet werden.

::: noteclassic
Mit dieser Methode kann auch getestet werden, welche konfigurierten Daten mit den Einstellungen des Benutzerverzeichnisses für die Benutzerbereitstellung übereinstimmen
(z. B. welche Benutzerrolle, Benutzergruppen und Benutzermedien dem Benutzer zugewiesen werden).
Für diese Art von Test sollte die API-Anfrage für ein [Benutzerverzeichnis](/manual/api/reference/userdirectory/object#userdirectory) gestellt werden, bei dem `provision_status` auf aktiviert gesetzt ist.
:::

::: noteclassic
Diese Methode ist nur für den Benutzertyp *Super admin* verfügbar.
:::

[comment]: # ({/99f1236b-b5ff62ed})

[comment]: # ({72d24aee-d99c84a0})
### Parameter

`(object)` Eigenschaften des Benutzerverzeichnisses.

Da die API `userdirectory.get` das Feld `bind_password` nicht zurückgibt, sollten `userdirectoryid` und/oder `bind_password` angegeben werden.<br>
Zusätzlich zu den [Standard-Eigenschaften des Benutzerverzeichnisses](object#userdirectory) akzeptiert die Methode die folgenden Parameter.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Beschreibung|
|--|--|------|
|test_username|string|Benutzername, der im Benutzerverzeichnis getestet werden soll.|
|test_password|string|Dem Benutzernamen zugeordnetes Passwort, das im Benutzerverzeichnis getestet werden soll.|

[comment]: # ({/72d24aee-d99c84a0})

[comment]: # ({0a19e6a5-99a75467})
### Rückgabewerte

`(bool)` Gibt bei Erfolg true zurück.

[comment]: # ({/0a19e6a5-99a75467})

[comment]: # ({b41637d2-47b9eb66})
### Beispiele

[comment]: # ({/b41637d2-47b9eb66})

[comment]: # ({0ec66727-9f73d089})
##### Benutzerverzeichnis für vorhandenen Benutzer testen

Benutzerverzeichnis „3“ für „user1“ testen.

[Anfrage](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "userdirectory.test",
    "params": {
        "userdirectoryid": "3",
        "host": "127.0.0.1",
        "port": "389",
        "base_dn": "ou=Users,dc=example,dc=org",
        "search_attribute": "uid",
        "bind_dn": "cn=ldap_search,dc=example,dc=org",
        "bind_password": "password",
        "test_username": "user1",
        "test_password": "password"
    },
    "id": 1
}
```

Antwort:

```json
{
    "jsonrpc": "2.0",
    "result": true,
    "id": 1
}
```

[comment]: # ({/0ec66727-9f73d089})

[comment]: # ({fa573532-a8a25347})
##### Benutzerverzeichnis für nicht vorhandenen Benutzer testen

Testen Sie das Benutzerverzeichnis „3“ für den nicht vorhandenen Benutzer „user2“.

[Anfrage](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "userdirectory.test",
    "params": {
        "userdirectoryid": "3",
        "host": "127.0.0.1",
        "port": "389",
        "base_dn": "ou=Users,dc=example,dc=org",
        "search_attribute": "uid",
        "bind_dn": "cn=ldap_search,dc=example,dc=org",
        "test_username": "user2",
        "test_password": "password"
    },
    "id": 1
}
```

Antwort:

```json
{
    "jsonrpc": "2.0",
    "error": {
        "code": -32500,
        "message": "Application error.",
        "data": "Incorrect user name or password or account is temporarily blocked."
    },
    "id": 1
}
```

[comment]: # ({/fa573532-a8a25347})

[comment]: # ({79a981ca-54c18b14})
##### Benutzerverzeichnis für die Benutzerbereitstellung testen

Testen Sie das Benutzerverzeichnis „3“, um festzustellen, welche konfigurierten Daten mit den Einstellungen des Benutzerverzeichnisses für die Bereitstellung von „user3“ übereinstimmen
(z. B. welche Benutzerrolle, Benutzergruppen und Benutzermedien dem Benutzer zugewiesen werden).

[Anfrage](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "userdirectory.test",
    "params": {
        "userdirectoryid": "2",
        "host": "host.example.com",
        "port": "389",
        "base_dn": "DC=zbx,DC=local",
        "search_attribute": "sAMAccountName",
        "bind_dn": "CN=Admin,OU=Users,OU=Zabbix,DC=zbx,DC=local",
        "test_username": "user3",
        "test_password": "password"
    },
    "id": 1
}
```

Antwort:

```json
{
    "jsonrpc": "2.0",
    "result": {
        "username": "user3",
        "name": "John",
        "surname": "Doe",
        "medias": [],
        "usrgrps": [
            {
                "usrgrpid": "8"
            },
            {
                "usrgrpid": "7"
            }
        ],
        "roleid": "2",
        "userdirectoryid": "2"
    },
    "id": 1
}
```

[comment]: # ({/79a981ca-54c18b14})

[comment]: # ({e28d4bf9-0402a0f4})
### Quelle

CUserDirectory::test() in *ui/include/classes/api/services/CUserDirectory.php*.

[comment]: # ({/e28d4bf9-0402a0f4})
