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 les utilisateurs membres ou invités avec leurs autorisations par défaut sans rôles 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.
- Pour les utilisateurs synchronisés, la possibilité de mettre à jour certaines propriétés est également déterminée par la source d’autorité et par l’activation de la synchronisation.
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.
- Pour mettre à jour la propriété employeeLeaveDateTime :
- Dans les scénarios délégués, l’administrateur a besoin du rôle Administrateur général ; L’application doit disposer des autorisations déléguées User.Read.All et User-LifeCycleInfo.ReadWrite.All .
- Dans les scénarios d’application uniquement avec des autorisations Microsoft Graph, l’application doit disposer des autorisations User.Read.All et User-LifeCycleInfo.ReadWrite.All .
- Pour mettre à jour la propriété customSecurityAttributes :
- Dans les scénarios délégués, l’administrateur doit se voir attribuer le rôle Administrateur d’attribution d’attributs et l’application doit disposer de l’autorisation CustomSecAttributeAssignment.ReadWrite.All .
- Dans les scénarios d’application uniquement avec des autorisations Microsoft Graph, l’application doit disposer de l’autorisation CustomSecAttributeAssignment.ReadWrite.All .
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 à mettre à 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 d’authentification privilégié affecté à l’autorisation déléguée Directory.AccessAsUser.All est le rôle le moins privilégié autorisé à mettre à jour le status accountEnabled de tous les administrateurs du locataire. |
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. |
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. |
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. |
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. |
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
.
- 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 (privilège minimum) ou Directory.ReadWrite.All (privilège supérieur) et au moins le rôle Administrateurd’utilisateurs Microsoft Entra.
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