[comment]: # ({53d969c5-f9e8f670})
# userdirectory.get

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

[comment]: # ({f09e8f55-b5ff62ed})
### Description

`integer/array userdirectory.get(object parameters)`

La méthode permet de récupérer les répertoires d’utilisateurs selon les paramètres fournis.

::: noteclassic
Cette méthode est disponible uniquement pour les types d’utilisateurs *Super admin*.
:::

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

[comment]: # ({31957bd5-d99c84a0})
### Paramètres

`(object)` Paramètres définissant la sortie souhaitée.

La méthode prend en charge les paramètres suivants.

|Parameter|[Type](/manual/api/reference_commentary#data-types)|Description|
|--|--|------|
|userdirectoryids|ID/array|Ne renvoyer que les répertoires d'utilisateurs avec les ID donnés.|
|selectUsrgrps|query|Renvoyer une propriété `usrgrps` avec les [groupes d'utilisateurs](/manual/api/reference/usergroup/object) associés à un répertoire d'utilisateurs.<br><br>Prend en charge `count`.|
|selectProvisionMedia|query|Renvoyer une propriété `provision_media` avec les [mappages de types de média](/manual/api/reference/userdirectory/object#media-type-mappings) associés à un répertoire d'utilisateurs.|
|selectProvisionGroups|query|Renvoyer une propriété `provision_groups` avec les [mappages de groupes de provisionnement](/manual/api/reference/userdirectory/object#provisioning-groups-mappings) associés à un répertoire d'utilisateurs.|
|sortfield|string/array|Trier le résultat selon les propriétés données.<br><br>Valeurs possibles: `name`.|
|filter|object|Ne renvoyer que les résultats correspondant exactement au filtre donné.<br><br>Accepte un objet, où les clés sont des noms de propriétés et les valeurs sont soit une seule valeur, soit un tableau de valeurs.<br><br>Prend en charge les propriétés: `userdirectoryid`, `idp_type`, `provision_status`.|
|search|object|Renvoyer les résultats correspondant au modèle donné (insensible à la casse).<br><br>Accepte un objet, où les clés sont des noms de propriétés et les valeurs sont les chaînes à rechercher. Si aucune option supplémentaire n'est fournie, cela effectuera une recherche `LIKE "%…%"`.<br><br>Propriétés prises en charge: `name`, `description`.<br><br>Un répertoire d'utilisateurs de type SAML aura une valeur vide pour les propriétés `name` et `description`. Les deux propriétés peuvent être modifiées avec l'opération `userdirectory.update`.|
|countOutput|boolean|Ces paramètres sont décrits dans le [commentaire de référence](/manual/api/reference_commentary#common-get-method-parameters).|
|excludeSearch|boolean|^|
|limit|integer|^|
|output|query|^|
|preservekeys|boolean|^|
|searchByAny|boolean|^|
|searchWildcardsEnabled|boolean|^|
|sortorder|string/array|^|
|startSearch|boolean|^|

[comment]: # ({/31957bd5-d99c84a0})

[comment]: # ({7223bab1-a18ff82b})
### Valeurs de retour

`(integer/array)` Renvoie soit :

- un tableau d'objets ;
- le nombre d'objets récupérés, si le paramètre `countOutput` a été utilisé.

[comment]: # ({/7223bab1-a18ff82b})

[comment]: # ({b41637d2-ba1c8d4c})
### Exemples

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

[comment]: # ({dee71092-6acef378})
##### Récupération des annuaires d’utilisateurs

Récupérez tous les annuaires d’utilisateurs avec des propriétés supplémentaires affichant les correspondances des types de média et les correspondances des groupes de provisionnement associées à chaque annuaire d’utilisateurs.

[Requête](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "userdirectory.get",
    "params": {
        "output": "extend",
        "selectProvisionMedia": "extend",
        "selectProvisionGroups": "extend"
    },
    "id": 1
}
```

Réponse :

```json
{
    "jsonrpc": "2.0",
    "result": [
       {
            "userdirectoryid": "1",
            "idp_type": "2",
            "name": "",
            "provision_status": "1",
            "description": "",
            "group_name": "groups",
            "user_username": "",
            "user_lastname": "",
            "idp_entityid": "http://example.com/simplesaml/saml2/idp/metadata.php",
            "sso_url": "http://example.com/simplesaml/saml2/idp/SSOService.php",
            "slo_url": "",
            "username_attribute": "uid",
            "sp_entityid": "zabbix",
            "nameid_format": "",
            "sign_messages": "0",
            "sign_assertions": "0",
            "sign_authn_requests": "0",
            "sign_logout_requests": "0",
            "sign_logout_responses": "0",
            "encrypt_nameid": "0",
            "encrypt_assertions": "0",
            "scim_status": "1",
            "provision_media": [
                {
                    "userdirectory_mediaid": "1",
                    "name": "example.com",
                    "mediatypeid": "1",
                    "attribute": "user@example.com",
                    "active": "0",
                    "severity": "63",
                    "period": "1-7,00:00-24:00"
                }
            ],
            "provision_groups": [
                {
                    "name": "*",
                    "roleid": "1",
                    "user_groups": [
                        {
                            "usrgrpid": "13"
                        }
                    ]
                }
            ]
        },
        {
            "userdirectoryid": "2",
            "idp_type": "1",
            "name": "AD server",
            "provision_status": "1",
            "description": "",
            "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",
            "start_tls": "0",
            "search_filter": "",
            "group_basedn": "OU=Zabbix,DC=zbx,DC=local",
            "group_name": "CN",
            "group_member": "member",
            "group_filter": "(%{groupattr}=CN=%{ref},OU=Users,OU=Zabbix,DC=zbx,DC=local)",
            "group_membership": "",
            "user_username": "givenName",
            "user_lastname": "sn",
            "user_ref_attr": "CN",
            "provision_media": [
                {
                    "userdirectory_mediaid": "2",
                    "name": "example.com",
                    "mediatypeid": "1",
                    "attribute": "user@example.com",
                    "active": "0",
                    "severity": "63",
                    "period": "1-7,00:00-24:00"
                }
            ],
            "provision_groups": [
                {
                    "name": "*",
                    "roleid": "4",
                    "user_groups": [
                        {
                            "usrgrpid": "8"
                        }
                    ]
                },
                {
                    "name": "Zabbix administrators",
                    "roleid": "2",
                    "user_groups": [
                        {
                            "usrgrpid": "7"
                        },
                        {
                            "usrgrpid": "8"
                        }
                    ]
                }
            ]
        },
        {
            "userdirectoryid": "3",
            "idp_type": "1",
            "name": "LDAP API server #1",
            "provision_status": "0",
            "description": "",
            "host": "ldap://local.ldap",
            "port": "389",
            "base_dn": "ou=Users,dc=example,dc=org",
            "search_attribute": "uid",
            "bind_dn": "cn=ldap_search,dc=example,dc=org",
            "start_tls": "1",
            "search_filter": "",
            "group_basedn": "",
            "group_name": "",
            "group_member": "",
            "group_filter": "",
            "group_membership": "",
            "user_username": "",
            "user_lastname": "",
            "user_ref_attr": "",
            "provision_media": [],
            "provision_groups": []
        }
    ],
    "id": 1
}
```

[comment]: # ({/dee71092-6acef378})

[comment]: # ({860ec55f-5f3bc200})
### Voir aussi

-   [Groupe d’utilisateurs](/manual/api/reference/usergroup/object#user)

[comment]: # ({/860ec55f-5f3bc200})

[comment]: # ({901c82dd-392498dd})
### Source

CUserDirectory::get() dans *ui/include/classes/api/services/CUserDirectory.php*.

[comment]: # ({/901c82dd-392498dd})
