Mettre à jour un utilisateur

Espace de noms: microsoft.graph

Important

Les API sous la /beta version de Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur de version .

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.

Autorisations

L’une des pefrmissions suivantes est nécessaire pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Type d’autorisation Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins)
Déléguée (compte professionnel ou scolaire) User.ReadWrite, User.ReadWrite.All, User.ManageIdentities.All, Directory.ReadWrite.All
Déléguée (compte Microsoft personnel) User.ReadWrite
Application User.ReadWrite.All, User.ManageIdentities.All, Directory.ReadWrite.All

Notes

  • La mise à jour de la propriété businessPhones, MobilePhone ou otherMails d’un autre utilisateur est autorisée uniquement pour les utilisateurs qui ne sont pas administrateurs ou qui ont l’un des rôles suivants : lecteurs d’annuaires, inviteur d’invités, lecteur de centre de messages et lecteur de rapports. Pour plus de détails, voir Helpdesk (Password) Administrator dans les rôles disponibles d'Azure AD. C’est le cas des applications disposant des autorisations déléguées ou applicatives User.ReadWrite. All ou Directory.ReadWrite.All.
  • Votre compte Microsoft personnel doit être lié à un client AAD pour mettre à jour votre profil avec l'autorisation déléguée User.ReadWrite sur un compte Microsoft personnel.
  • 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.
Content-Type application/json

Corps de la demande

Dans le corps de la demande, fournissez les valeurs pour les champs appropriés qui doivent être mis à jour. Les propriétés existantes qui ne sont pas incluses dans le corps de la demande conserveront leurs valeurs précédentes ou seront recalculées en fonction des modifications apportées à d’autres valeurs des propriétés. Pour de meilleures performances, n’incluez pas de valeurs existantes qui n’ont pas changé.

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, NotAdult et Adult. Voir lesdéfinitions de propriété de groupe d’âge légal pour plus d’informations.
assignedLicenses collection assignedLicense Licences attribuées à l’utilisateur. Ne peut accepter une valeur null.
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, minuit UTC le 1er janvier 2014 est : 2014-01-01T00:00:00Z
businessPhones String collection Numéros de téléphone de l’utilisateur. NOTE: Bien qu’il s’agit d’une collection de chaînes, un seul nombre peut être défini pour cette propriété.
Ville String Ville dans laquelle se trouve l’utilisateur.
CompanyName String Nom de la société auquel 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 Chaîne 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, du prénom initial et du nom de famille. 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.
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. et est toujours au format d’heure UTC. Par exemple, minuit UTC le 1er janvier 2014 est 2014-01-01T00:00:00Z.
identités collection objectIdentity Représente les identités qui peuvent être utilisées pour se connecter à ce compte d’utilisateur. Une identité peut être fournie par Microsoft, par des organisations, ou par des fournisseurs d’identités sociales, tels que Facebook, Google et Microsoft, et liée à un compte d’utilisateur. Toute mise à jour des identités remplace l’ensemble de la collection et vous devez fournir l’identité userPrincipalName signInType dans la collection.
interests String collection Liste où l’utilisateur peut décrire ses centres d’intérêt.
jobTitle String Fonction de l’utilisateur.
messagerie String L’adresse SMTP de l’utilisateur, par exemple, jeff@contoso.onmicrosoft.com. Pour les comptes Azure AD B2C, cette propriété ne peut être mise à jour que dix fois avec des adresses SMTP. Les modifications de cette propriété mettront également à jour la collection proxyAddresses de l’utilisateur pour inclure la valeur en tant qu’adresse SMTP.
mailNickname String Alias de courrier 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. Notez que les attributs extension individuels ne sont ni sélectionnables ni 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é sert à associer un compte utilisateur Active Directory local à l’objet utilisateur Azure AD. Cette propriété doit être spécifiée lors de la création d’un compte d’utilisateur dans Microsoft Graph si vous utilisez un domaine fédéré pour la propriété userPrincipalName (UPN) de l’utilisateur. Important : vous ne pouvez pas utiliser les caractères $ et _ pour nommer cette propriété. Prend en charge $filter.
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 pour l’utilisateur. Cette valeur est une énumération avec une valeur possible DisableStrongPassword, ce 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. Cette propriété est requise lorsqu’un utilisateur est créé. 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.

L'utilisateur appelant doit avoir la permission déléguée Directory.AccessAsUser.All pour mettre à jour cette propriété. Cette propriété ne peut pas être mise à jour avec des autorisations d’application uniquement.
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 préférée de l’utilisateur. Doit suivre 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 où l’utilisateur peut é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 exigence légale de vérification de la disponibilité des services dans les pays. Par exemple : US ,JP, et GB. Non nullable.
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 RFC 822 Internet. Par convention, cela doit correspondre au nom de messagerie de l’utilisateur. Le format général est alias@domain, où le domaine doit être présent dans la collection de domaines vérifiés du locataire. Les domaines vérifiés pour le locataire sont accessibles à partir de la propriété verifiedDomains de l’organisation.
REMARQUE : cette propriété ne peut pas contenir de caractères accentués. 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.

Étant donné que la ressource utilisateur prend en charge les extensions, vous pouvez utiliser l’opération PATCH pour ajouter, mettre à jour ou supprimer vos propres données spécifiques à l’application dans les propriétés personnalisées d’une extension dans une instance d’utilisateur existante.

Notes

  • Les propriétés suivantes ne peuvent pas être mises à jour par une application disposant uniquement des autorisations d'application : aboutMe, birthday, employeeHireDate, interests, mySite, pastProjects, preferredName, responsabilités, écoles, et compétences.
  • 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 répertoriées dans le tableau ci-dessus : àPropos, anniversaire, centres d’intérêts, monSite, Projetspassés, nomFavori, responsabilités, écoles, et compétences.

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, comme suit :

  • Ajouter, mettre à jour et stocker des données dans les extensions pour 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é nulld’extension personnalisée sur . Pour les extensions ouvertes, utilisez l’API Supprimer l’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/beta/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/beta/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 pour réinitialiser son mot de passe

L’exemple suivant montre une requête qui réinitialise le mot de passe d’un autre utilisateur. L'utilisateur appelant doit avoir la permission déléguée Directory.AccessAsUser.All pour mettre à jour cette propriété.

Demande

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

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

Réponse

HTTP/1.1 204 No Content

Exemple 4 : Attribuer 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 plus d’exemples pour les utilisateurs, consultez Affecter, mettre à jour ou supprimer des attributs de sécurité personnalisés à l’aide de Microsoft API Graph.

Demande

PATCH https://graph.microsoft.com/beta/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

Exemple 5 : 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/beta/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e
Content-type: application/json

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

Réponse

HTTP/1.1 204 No Content

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

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

{
   "ext55gb1l09_msLearnCourses": null
}

Voir aussi