Mettre à jour un utilisateur

Espace de noms: microsoft.graph

Met à jour les propriétés d’un objet user. Toutes les propriétés ne peuvent pas être mises à jour par des utilisateurs membres ou invités avec leurs autorisations par défaut sans rôle d’administrateur. Comparez les autorisations par défaut des membres et des invités pour voir les propriétés qu’ils peuvent gérer.

Les clients via Microsoft Entra ID pour les clients peuvent également utiliser cette opération d’API pour mettre à jour leurs détails. Consultez Autorisations utilisateur par défaut dans les locataires clients pour obtenir la liste des propriétés qu’ils peuvent mettre à jour.

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) User.ReadWrite User.ManageIdentities.All, User.EnableDisableAccount.All, User.ReadWrite.All, Directory.ReadWrite.All
Déléguée (compte Microsoft personnel) User.ReadWrite Non disponible.
Application User.ManageIdentities.All User.EnableDisableAccount.All, User.ReadWrite.All, Directory.ReadWrite.All

Remarque

  • Pour mettre à jour les propriétés d’utilisateur sensibles, telles que accountEnabled, mobilePhone et otherMails pour les utilisateurs disposant de rôles d’administrateur privilégiés :
    • Dans les scénarios délégués, l’autorisation déléguée Directory.AccessAsUser.All doit être attribuée à l’application et l’utilisateur appelant doit avoir un rôle d’administrateur privilégié plus élevé, comme indiqué dans Qui peut effectuer des actions sensibles.
    • Dans les scénarios d’application uniquement, l’application doit se voir attribuer un rôle d’administrateur privilégié plus élevé, comme indiqué dans Qui peut effectuer des actions sensibles.
  • Votre compte Microsoft personnel doit être lié à un locataire Microsoft Entra pour mettre à jour votre profil avec l’autorisation déléguée User.ReadWrite sur un compte Microsoft personnel.
  • La mise à jour de la propriété identities nécessite l’autorisation User.ManageIdentities.All . De plus, l’ajout d’un compte local B2C à un objet utilisateur existant n’est pas autorisé, sauf si l’objet utilisateur contient déjà une identité de compte local.

Requête HTTP

PATCH /users/{id | userPrincipalName}

En-têtes de demande

En-tête Valeur
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.
Content-Type application/json

Corps de la demande

Dans le corps de la demande, fournissez uniquement les valeurs des propriétés qui doivent être mises à jour. Les propriétés existantes qui ne sont pas incluses dans le corps de la demande conservent leurs valeurs précédentes ou sont recalculées en fonction des modifications apportées à d’autres valeurs de propriété.

Le tableau suivant spécifie les propriétés qui peuvent être mises à jour.

Propriété Type Description
aboutMe String Champ de saisie de texte libre où l’utilisateur peut se décrire.
accountEnabled Boolean true si le compte est activé ; sinon, false. Cette propriété est requise lorsqu’un utilisateur est créé. Un administrateur général affecté à l’autorisation déléguée Directory.AccessAsUser.All peut mettre à jour le statut accountEnabled de tous les administrateurs du client.
ageGroup ageGroup Définit le groupe d’âge de l’utilisateur. Valeurs autorisées : null, Minor, NotAdultet Adult. Voir lesdéfinitions de propriété de groupe d’âge légal pour plus d’informations.
birthday DateTimeOffset Date d’anniversaire de l’utilisateur. Le type d’horodatage représente les informations de date et d’heure au moyen du format ISO 8601. Il est toujours au format d’heure UTC. Par exemple, le 1er janvier 2014 à minuit UTC se présente comme suit : 2014-01-01T00:00:00Z.
businessPhones String collection Numéros de téléphone de l’utilisateur. NOTE : bien qu’il s’agisse d’une collection de chaînes, seul un numéro peut être défini pour cette propriété.
Ville String Ville dans laquelle se trouve l’utilisateur.
CompanyName String Nom de la société à laquelle l’utilisateur est associé. Cette propriété peut être utile pour décrire la société dont provient un utilisateur externe. La longueur maximale est de 64 caractères.
consentProvidedForMinor consentProvidedForMinor Définit si un consentement a été obtenu pour les mineurs. Valeurs autorisées : null, Granted, Denied et NotRequired. Voir lesdéfinitions de propriété de groupe d’âge légal pour plus d’informations.
country String Pays/région où se trouve l’utilisateur ; par exemple, US ou UK.
customSecurityAttributes customSecurityAttributeValue Type complexe ouvert qui contient la valeur d’un attribut de sécurité personnalisé affecté à un objet d’annuaire.

Pour mettre à jour cette propriété, le principal appelant doit se voir attribuer le rôle d’Administrateur d’attribution d’attributs et doit avoir l’autorisation CustomSecAttributeAssignment.ReadWrite.All.
Service String Nom du service où travaille l’utilisateur.
displayName String Nom affiché dans le carnet d’adresses de l’utilisateur. Il s’agit généralement de la combinaison du prénom de l’utilisateur, de l’initiale de son deuxième prénom et de son nom. Cette propriété est requise lorsqu’un utilisateur est créé et ne peut pas être effacée pendant les mises à jour.
employeeId String Identificateur d’employé attribué à l’utilisateur par l’organisation. La longueur maximale est de 16 caractères.
employeeType String Capture le type de travailleur d’entreprise. Par exemple, Employee, Contractor, Consultant ou Vendor. Renvoyé uniquement sur $select.
givenName String Prénom de l’utilisateur.
employeeHireDate DateTimeOffset Date d’embauche de l’utilisateur. Le type d’horodatage représente les informations de date et d’heure au moyen du format ISO 8601. Il est toujours au format d’heure UTC. Par exemple, le 1er janvier 2014 à minuit UTC se présente comme suit : 2014-01-01T00:00:00Z.
employeeLeaveDateTime DateTimeOffset Date et heure auxquelles l’utilisateur a quitté ou quittera le organization. Le type d’horodatage représente les informations de date et d’heure au format ISO 8601 et est toujours en heure UTC. Par exemple, le 1er janvier 2014 à minuit UTC se présente comme suit : 2014-01-01T00:00:00Z.

Pour les scénarios délégués, l’utilisateur appelant doit avoir le rôle Administrateur général et l’application appelante doit avoir les autorisations déléguées User.Read.All et User-LifeCycleInfo.ReadWrite.All .
employeeOrgData employeeOrgData Représente organization données (par exemple, division et costCenter) associées à un utilisateur.
interests String collection Liste où l’utilisateur peut décrire ses centres d’intérêt.
jobTitle Chaîne Fonction de l’utilisateur.
mail String L’adresse SMTP de l’utilisateur, par exemple, jeff@contoso.com. Les modifications apportées à cette propriété mettent également à jour la collection proxyAddresses de l’utilisateur pour inclure la valeur en tant qu’adresse SMTP. Pour les comptes Azure AD B2C, cette propriété peut être mise à jour jusqu’à 10 fois avec des adresses SMTP uniques. Impossible de mettre à jour vers null.
mailNickname String Alias de messagerie de l’utilisateur. Cette propriété doit être spécifiée lors de la création d’un utilisateur.
mobilePhone String Numéro de téléphone portable principal de l’utilisateur.
mySite String URL du site personnel de l’utilisateur.
officeLocation String Emplacement du bureau de l’utilisateur dans l’entreprise.
onPremisesExtensionAttributes onPremisesExtensionAttributes Contient extensionAttributes 15 1 pour l’utilisateur. Les attributs d’extension individuels ne sont pas sélectionnables ou filtrables. Pour un utilisateur onPremisesSyncEnabled, la source de l’autorité pour cet ensembles de propriétés est en local et lecture seule. Ces attributs d’extension sont également appelés attributs personnalisés Exchange 1-15.
onPremisesImmutableId String Cette propriété est utilisée pour associer un compte d’utilisateur Active Directory local à son objet utilisateur Microsoft Entra. Cette propriété doit être spécifiée lors de la création d’un compte d’utilisateur dans graph si vous utilisez un domaine fédéré pour la propriété userPrincipalName (UPN) de l’utilisateur. Important: Les $ caractères et _ ne peuvent pas être utilisés lors de la spécification de cette propriété.
otherMails Collection de chaînes Liste des autres adresses e-mail de l’utilisateur (par exemple, ["bob@contoso.com", "Robert@fabrikam.com"]).
passwordPolicies String Spécifie les stratégies de mot de passe de l’utilisateur. Cette valeur est une énumération avec une seule valeur possible, DisableStrongPassword, qui permet de spécifier des mots de passe plus faibles que la stratégie par défaut. DisablePasswordExpiration peut également être spécifié. Les deux peuvent être spécifiés ensemble ; par exemple : DisablePasswordExpiration, DisableStrongPassword.
passwordProfile PasswordProfile Spécifie le profil du mot de passe de l’utilisateur. Le profil contient le mot de passe de l’utilisateur. Le mot de passe du profil doit respecter les exigences minimales spécifiées par la propriété passwordPolicies. Par défaut, un mot de passe fort est requis. Comme meilleure pratique, définissez toujours forceChangePasswordNextSignIn sur true. Cela ne peut pas être utilisé pour les utilisateurs fédérés.

Dans l’accès délégué, l’application appelante doit disposer de l’autorisation déléguée Directory.AccessAsUser.All pour le compte de l’utilisateur connecté. Dans l’accès application uniquement, l’application appelante doit se voir attribuer l’autorisation d’application User.ReadWrite.All et au moins le rôle Administrateur utilisateur Microsoft Entra.
pastProjects String collection Liste où l’utilisateur peut énumérer les projets qu’il a réalisés.
postalCode String Code postal de l’adresse de l’utilisateur. Le code postal est spécifique au pays/à la région de l’utilisateur. Aux États-Unis d’Amérique, cet attribut contient le code ZIP.
preferredLanguage String Langue par défaut de l’utilisateur. Doit respecter le Code ISO 639-1 ; par exemple en-US.
responsibilities String collection Liste où l’utilisateur peut énumérer ses responsabilités.
schools String collection Liste permettant à l’utilisateur d’énumérer les écoles qu’il a fréquentées.
skills String collection Liste où l’utilisateur peut énumérer ses compétences.
state String Département ou province où habite l’utilisateur.
streetAddress String Adresse postale de l’entreprise de l’utilisateur.
surname String Nom de l’utilisateur (nom de famille).
usageLocation String Code pays à deux lettres (norme ISO 3166). Obligatoire pour les utilisateurs qui recevront des licences en raison d’une obligation légale qui exige la vérification de la disponibilité des services dans les pays. Les exemples incluent US, JP, et GB. Ne peut accepter une valeur null.
userPrincipalName String Nom d’utilisateur principal (UPN) de l’utilisateur. L’UPN est un nom de connexion de style Internet pour l’utilisateur basé sur la norme Internet RFC 822. Par convention, il doit être mappé sur le nom de messagerie de l’utilisateur. Le format général est alias@domaine, où le domaine doit être présent dans la collection de domaines vérifiés du client. Les domaines vérifiés du client sont accessibles à partir de la propriété verifiedDomains de l’organisation.
REMARQUE : Cette propriété ne peut pas contenir de caractères d’accentuation. Seuls les caractères suivants sont autorisés A - Z, a - z, 0 - 9, ' . - _ ! # ^ ~. Pour obtenir la liste complète des caractères autorisés, consultez stratégies de nom d’utilisateur.
userType String Valeur de chaîne qui peut être utilisée pour classer les types d’utilisateur dans votre répertoire, tels que Member et Guest.

Remarque

  • Les propriétés suivantes ne peuvent pas être mises à jour par une application avec uniquement des autorisations d’application : aboutMe, birthday, employeeHireDate, interests, mySite, pastProjects, responsibilities, schoolset skills.
  • Pour mettre à jour les propriétés suivantes, vous devez les spécifier dans leur propre demande PATCH, sans inclure les autres propriétés : aboutMe, birthday, interests, mySite, pastProjects, responsibilities, schools et skills.

Gérer les extensions et les données associées

Utilisez cette API pour gérer le répertoire, le schéma et les extensions ouvertes et leurs données pour les utilisateurs, de la manière suivante :

  • Ajouter, mettre à jour et stocker des données dans les extensions d’un utilisateur existant
  • Pour les extensions de répertoire et de schéma, supprimez toutes les données stockées en définissant la valeur de la propriété d’extension personnalisée sur null. Pour les extensions ouvertes, utilisez l’API Supprimer une extension ouverte.

Réponse

Si elle réussit, cette méthode renvoie un code de réponse 204 No Content.

Exemple

Exemple 1: mettre à jour les propriétés de l’utilisateur connecté

Demande

L’exemple suivant illustre une demande.

PATCH https://graph.microsoft.com/v1.0/me
Content-type: application/json

{
  "businessPhones": [
    "+1 425 555 0109"
  ],
  "officeLocation": "18/2111"
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content

Example 2 : mettre à jour les propriétés de l’utilisateur spécifié

Demande

L’exemple suivant illustre une demande.

PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json

{
  "businessPhones": [
    "+1 425 555 0109"
  ],
  "officeLocation": "18/2111"
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content

Exemple 3 : Mettre à jour le passwordProfile d’un utilisateur et réinitialiser son mot de passe

L’exemple suivant montre une demande de réinitialisation du mot de passe d’un autre utilisateur. Comme meilleure pratique, définissez toujours forceChangePasswordNextSignIn sur true.

Demande

PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json

{
  "passwordProfile": {
    "forceChangePasswordNextSignIn": false,
    "password": "xWwvJ]6NMw+bWH-d"
  }
}

Réponse

HTTP/1.1 204 No Content

Exemple 4 : Ajouter ou mettre à jour les valeurs d’une extension de schéma pour un utilisateur

Vous pouvez mettre à jour ou affecter une valeur à une propriété unique ou à toutes les propriétés de l’extension.

Demande

PATCH https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e
Content-type: application/json

{
    "ext55gb1l09_msLearnCourses": {
        "courseType": "Admin"
    }
}

Pour supprimer la valeur de l’extension de schéma de l’objet utilisateur, définissez la propriété ext55gb1l09_msLearnCourses sur null.

Réponse

HTTP/1.1 204 No Content

Exemple 5 : Affecter un attribut de sécurité personnalisé avec une valeur de chaîne à un utilisateur

L’exemple suivant montre comment affecter un attribut de sécurité personnalisé avec une valeur de chaîne à un utilisateur.

  • Jeu d’attributs : Engineering
  • Attribut : ProjectDate
  • Type de données d’attribut : chaîne
  • Valeur d’attribut : "2022-10-01"

Pour attribuer des attributs de sécurité personnalisés, le principal appelant doit se voir attribuer le rôle d’Administrateur d’attribution d’attributs et doit avoir l’autorisation CustomSecAttributeAssignment.ReadWrite.All.

Pour obtenir des exemples d’attributions d’attributs de sécurité personnalisées, consultez Exemples : Affecter, mettre à jour, lister ou supprimer des attributions d’attributs de sécurité personnalisées à l’aide de microsoft API Graph.

Demande

PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json

{
    "customSecurityAttributes":
    {
        "Engineering":
        {
            "@odata.type":"#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
            "ProjectDate":"2022-10-01"
        }
    }
}

Réponse

HTTP/1.1 204 No Content