Benutzer aktualisieren
Namespace: microsoft.graph
Aktualisieren der Eigenschaften eines user-Objekts.
- Nicht alle Eigenschaften können von Mitglieds- oder Gastbenutzern mit ihren Standardberechtigungen ohne Administratorrollen aktualisiert werden. Vergleichen Sie die Standardberechtigungen von Mitgliedern und Gästen, um zu sehen, welche Eigenschaften sie verwalten können.
- Kunden über Microsoft Entra ID für Kunden können diesen API-Vorgang auch verwenden, um ihre Details zu aktualisieren. Die Liste der Eigenschaften, die sie aktualisieren können, finden Sie unter Standardbenutzerberechtigungen in Kundenmandanten .
- Für synchronisierte Benutzer wird die Möglichkeit, bestimmte Eigenschaften zu aktualisieren, zusätzlich durch die Autoritätsquelle bestimmt und ob die Synchronisierung aktiviert ist.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
Globaler Dienst | US Government L4 | US Government L5 (DOD) | China, betrieben von 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Berechtigungen
Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
Berechtigungstyp | Berechtigungen mit den geringsten Berechtigungen | Berechtigungen mit höheren Berechtigungen |
---|---|---|
Delegiert (Geschäfts-, Schul- oder Unikonto) | User.ReadWrite | User.ManageIdentities.All, User.EnableDisableAccount.All, User.ReadWrite.All, Directory.ReadWrite.All |
Delegiert (persönliches Microsoft-Konto) | User.ReadWrite | Nicht verfügbar. |
App | User.ManageIdentities.All | User.EnableDisableAccount.All, User.ReadWrite.All, Directory.ReadWrite.All |
Hinweis
- So aktualisieren Sie vertrauliche Benutzereigenschaften wie accountEnabled, mobilePhone und otherMails für Benutzer mit privilegierten Administratorrollen:
- In delegierten Szenarien muss der App die delegierte Berechtigung Directory.AccessAsUser.All zugewiesen sein, und der aufrufende Benutzer muss über eine höhere Administratorrolle verfügen, wie unter Wer kann vertrauliche Aktionen ausführen angegeben.
- In Reinen App-Szenarien muss der App eine Administratorrolle mit höheren Berechtigungen zugewiesen werden, wie unter Wer kann vertrauliche Aktionen ausführen angegeben.
- Ihr persönliches Microsoft-Konto muss an einen Microsoft Entra Mandanten gebunden sein, um Ihr Profil mit der delegierten Berechtigung User.ReadWrite für ein persönliches Microsoft-Konto zu aktualisieren.
- Zum Aktualisieren der Identitätseigenschaft ist die Berechtigung User.ManageIdentities.All erforderlich. Auch das Hinzufügen eines lokalen B2C-Kontos zu einem bestehenden user-Objekt ist nicht zulässig, es sei denn, das user-Objekt enthält bereits eine lokale Kontoidentität.
- So aktualisieren Sie die EmployeeLeaveDateTime-Eigenschaft :
- In delegierten Szenarien benötigt der Administrator die Rolle "Globaler Administrator ". Der App müssen die delegierten Berechtigungen User.Read.All und User-LifeCycleInfo.ReadWrite.All gewährt werden.
- In reinen App-Szenarien mit Microsoft Graph-Berechtigungen muss der App die Berechtigungen User.Read.All und User-LifeCycleInfo.ReadWrite.All gewährt werden.
- So aktualisieren Sie die customSecurityAttributes-Eigenschaft :
- In delegierten Szenarien muss dem Administrator die Rolle Attributzuweisungsadministrator zugewiesen werden, und der App muss die Berechtigung CustomSecAttributeAssignment.ReadWrite.All gewährt werden.
- In reinen App-Szenarien mit Microsoft Graph-Berechtigungen muss der App die Berechtigung CustomSecAttributeAssignment.ReadWrite.All erteilt werden.
HTTP-Anforderung
PATCH /users/{id | userPrincipalName}
Anforderungsheader
Kopfzeile | Wert |
---|---|
Authorization | Bearer {token}. Erforderlich. Erfahren Sie mehr über die Authentifizierung und Autorisierung. |
Content-Type | application/json |
Anforderungstext
Geben Sie im Anforderungstext nur die Werte für zu aktualisierende Eigenschaften an. Vorhandene Eigenschaften, die nicht im Anforderungstext enthalten sind, behalten ihre vorherigen Werte bei oder werden basierend auf Änderungen an anderen Eigenschaftswerten neu berechnet.
In der folgenden Tabelle sind die Eigenschaften angegeben, die aktualisiert werden können.
Eigenschaft | Typ | Beschreibung |
---|---|---|
aboutMe | String | Ein Freihandform-Texteingabefeld, in dem der Benutzer sich selbst beschreiben kann. |
accountEnabled | Boolesch |
true , wenn das Konto aktiviert ist; andernfalls false . Diese Eigenschaft ist erforderlich, wenn ein Benutzer erstellt wird. Ein privilegierter Authentifizierungsadministrator, dem die delegierte Berechtigung Directory.AccessAsUser.All zugewiesen ist, ist die Rolle mit den geringsten Berechtigungen, die berechtigt ist, die accountEnabled-status aller Administratoren im Mandanten zu aktualisieren. |
ageGroup | ageGroup | Legt die Altersgruppe des Benutzers fest. Zulässige Werte: null , Minor , NotAdult und Adult . Weitere Informationen finden Sie in den gesetzlichen Eigenschaftsdefinitionen für Altersgruppen. |
birthday | DateTimeOffset | Der Geburtstag des Benutzers. Der Timestamp-Typ stellt die Datums- und Uhrzeitinformationen mithilfe des ISO 8601-Formats dar und wird immer in UTC-Zeit angegeben. Zum Beispiel, Mitternacht UTC am 1. Januar 2014 ist 2014-01-01T00:00:00Z |
businessPhones | String-Sammlung | Die Telefonnummern für den Benutzer. HINWEIS: Obwohl dies eine String-Sammlung ist, kann nur eine Nummer für diese Eigenschaft festgelegt werden. |
Ort | String | Die Stadt, in der sich der Benutzer befindet. |
CompanyName | String | Der Name des Unternehmens, dem der Benutzer zugeordnet ist. Diese Eigenschaft kann nützlich sein, um die Firma zu beschreiben, aus der ein externer Benutzer kommt. Die Höchstlänge beträgt 64 Zeichen. |
consentProvidedForMinor | consentProvidedForMinor | Legt fest, ob die Einverständniserklärung für Minderjährige eingeholt wurde. Zulässige Werte: null , Granted , Denied und NotRequired . Weitere Informationen finden Sie in den gesetzlichen Eigenschaftsdefinitionen für Altersgruppen. |
Land/Region | Zeichenfolge | Land/Region, in dem/der sich der Benutzer befindet, z. B. US oder UK . |
customSecurityAttributes | customSecurityAttributeValue | Ein offener komplexer Typ, der den Wert eines benutzerdefinierten Sicherheitsattributs enthält, das einem Verzeichnisobjekt zugewiesen ist. |
department | Zeichenfolge | Der Name der Abteilung, in der der Benutzer arbeitet. |
displayName | String | Der Name des Benutzers, der im Adressbuch angezeigt wird. Dies ist normalerweise eine Kombination aus dem Vornamen, der Initiale des weiteren Vornamens und des Nachnamens. Diese Eigenschaft ist erforderlich, wenn ein Benutzer erstellt wird, und sie kann während Updates nicht gelöscht werden. |
employeeId | String | Die Mitarbeiter-ID, die dem Benutzer von der Organisation zugewiesen wurde. Die maximale Länge beträgt 16 Zeichen. |
employeeType | Zeichenfolge | Erfasst den Arbeitnehmertyp des Unternehmens. Zum Beispiel Employee , Contractor , Consultant oder Vendor . Wird nur auf $select zurückgegeben. |
givenName | Zeichenfolge | Der Vorname des Benutzers. |
employeeHireDate | DateTimeOffset | Das Einstellungsdatum des Benutzers. Der Timestamp-Typ stellt die Datums- und Uhrzeitinformationen mithilfe des ISO 8601-Formats dar und wird immer in UTC-Zeit angegeben. Zum Beispiel, Mitternacht UTC am 1. Januar 2014 ist 2014-01-01T00:00:00Z |
employeeLeaveDateTime | DateTimeOffset | Das Datum und die Uhrzeit, zu dem der Benutzer die organization verlassen hat oder verlässt. Der Zeitstempeltyp stellt Datums- und Uhrzeitinformationen im ISO 8601-Format dar und ist immer in UTC-Zeit angegeben. Zum Beispiel, Mitternacht UTC am 1. Januar 2014 ist 2014-01-01T00:00:00Z .In delegierten Szenarien muss der aufrufende Benutzer über die Rolle "Globaler Administrator " verfügen, und der aufrufenden App müssen die delegierten Berechtigungen User.Read.All und User-LifeCycleInfo.ReadWrite.All zugewiesen sein. |
employeeOrgData | employeeOrgData | Stellt organization Daten (z. B. division und costCenter) dar, die einem Benutzer zugeordnet sind. |
interests | String collection | Eine Liste für den Benutzer, um dessen Interessen zu beschreiben. |
jobTitle | Zeichenfolge | Die Position des Benutzers. |
Zeichenfolge | SMTP-Adresse für den Benutzer, z. B. jeff@contoso.com . Änderungen an dieser Eigenschaft aktualisieren auch die proxyAddresses-Auflistung des Benutzers, um den Wert als SMTP-Adresse einzuschließen. Für Azure AD B2C-Konten kann diese Eigenschaft bis zu 10-mal mit eindeutigen SMTP-Adressen aktualisiert werden. Kann nicht auf null aktualisiert werden. |
|
mailNickname | String | Der E-Mail-Alias für den Benutzer. Diese Eigenschaft muss beim Erstellen eines Benutzers angegeben werden. |
mobilePhone | String | Die Nummer des primären Mobiltelefons für den Benutzer. |
mySite | String | Die URL für die persönliche Website des Benutzers. |
officeLocation | String | Der Bürostandort der Firma des Benutzers |
onPremisesExtensionAttributes | onPremisesExtensionAttributes | Enthält die Erweiterungsattribute 1 bis 15 für den Benutzer. Die einzelnen Erweiterungsattribute können nicht ausgewählt oder gefiltert werden. Für onPremisesSyncEnabled -Benutzende ist die Autoritätsquelle dieser Eigenschaftsgruppe die Lokale. Sie ist schreibgeschützt. Diese Erweiterungsattribute werden auch als benutzerdefinierte Exchange-Attribute 1-15 bezeichnet. |
onPremisesImmutableId | String | Diese Eigenschaft wird verwendet, um ihrem Microsoft Entra-Benutzerobjekt ein lokales Active Directory Benutzerkonto zuzuordnen. Diese Eigenschaft muss beim Erstellen eines neuen Benutzerkontos in Graph angegeben werden, wenn Sie eine Verbunddomäne für die UserPrincipalName-Eigenschaft (UPN) des Benutzers verwenden. Wichtig: Die $ Zeichen und _ können beim Angeben dieser Eigenschaft nicht verwendet werden. |
otherMails | Zeichenfolgensammlung | Eine Liste zusätzlicher E-Mail-Adressen für den Benutzer; z. B.: ["bob@contoso.com", "Robert@fabrikam.com"] . |
passwordPolicies | String | Gibt die Kennwortrichtlinien für den Benutzer an. Dieser Wert ist eine Enumeration, deren einziger möglicher Wert DisableStrongPassword lautet. Damit können schwächere Kennwörter als in der Standardrichtlinie angegeben festgelegt werden. Auch DisablePasswordExpiration kann angegeben werden. Die beiden können zusammen angegeben werden; Beispiel: DisablePasswordExpiration, DisableStrongPassword . |
passwordProfile | PasswordProfile | Gibt das Kennwortprofil für den Benutzer an. Das Profil enthält das Kennwort des Benutzers. Das Kennwort im Profil muss den Mindestanforderungen entsprechen, wie von der passwordPolicies-Eigenschaft angegeben. Standardmäßig ist ein sicheres Kennwort erforderlich. Als bewährte Methode legen Sie forceChangePasswordNextSignIn immer auf fest true . Dies kann nicht für Verbundbenutzer verwendet werden. |
pastProjects | String collection | Eine Liste zur Aufzählung der erledigten Projekte eines Benutzers. |
postalCode | String | Die Postleitzahl für die Postanschrift des Benutzers. Die Postleitzahl ist für das Land/die Region des Benutzers spezifisch. In den USA enthält dieses Attribut den ZIP Code. |
preferredLanguage | String | Die bevorzugte Sprache für den Benutzer. Muss im ISO 639-1-Code angegeben werden, z. B. en-US . |
responsibilities | String collection | Eine Liste zur Aufzählung der Verantwortlichkeiten eines Benutzers. |
schools | String collection | Eine Liste, in der der Benutzer die Schulen auflisten kann, die er besucht hat. |
skills | String collection | Eine Liste zur Aufzählung der Qualifikationen eines Benutzers. |
state | Zeichenfolge | Bundesland oder Kanton in der Adresse des Benutzers. |
streetAddress | String | Die Straße der Firma des Benutzers. |
surname | String | Der Nachname des Benutzers. |
usageLocation | Zeichenfolge | Ein aus zwei Buchstaben bestehender Ländercode (ISO-Standard 3166). Erforderlich für Benutzer, denen Lizenzen zugewiesen werden, aufgrund der gesetzlichen Vorschrift, dass die Verfügbarkeit von Diensten in einzelnen Ländern geprüft werden muss. Beispiele sind US , JP und GB . Lässt keine NULL-Werte zu. |
userPrincipalName | String | Der User Principal Name (UPN) des Benutzers. Der UPN ist ein Anmeldename im Internetformat für den Benutzer, der auf dem Internetstandard RFC 822 basiert. Gemäß der Konvention sollte er dem E-Mail-Namen des Benutzers zugeordnet sein. Das allgemeine Format lautet „alias@domäne“, wobei „domäne“ in der Sammlung der verifizierten Domänen des Mandanten vorhanden sein muss. Auf die verifizierten Domänen für den Mandanten kann über die verifiedDomains -Eigenschaft von organization zugegriffen werden. HINWEIS: Diese Eigenschaft darf keine Akzentzeichen enthalten. Nur die folgenden Zeichen sind zulässig: A - Z , a - z , 0 - 9 , ' . - _ ! # ^ ~ . Eine vollständige Liste der zulässigen Zeichen finden Sie unter Richtlinien für Benutzernamen. |
userType | Zeichenfolge | Ein Zeichenfolgenwert kann zum Klassifizieren der Benutzertypen in Ihrem Verzeichnis verwendet werden, z. B. Member und Guest . |
Hinweis
- Die folgenden Eigenschaften können nicht mittels einer App mit nur Anwendungsberechtigungen aktualisiert werden: aboutMe, birthday, employeeHireDate, interests, mySite, pastProjects, responsibilities, schools und skills.
- Um die folgenden Eigenschaften zu aktualisieren, müssen Sie sie in ihrer eigenen PATCH-Anforderung angeben, ohne die anderen Eigenschaften einzufügen: aboutMe, birthday, interests, mySite, pastProjects, responsibilities, schools und skills.
Erweiterungen und zugehörige Daten verwalten
Verwenden Sie diese API, um Verzeichnis-, Schema- und offene Erweiterungen und deren Daten für Benutzer wie folgt zu verwalten:
- Hinzufügen, Aktualisieren und Speichern von Daten in den Erweiterungen für einen vorhandenen Benutzer
- Entfernen Sie für Verzeichnis- und Schemaerweiterungen alle gespeicherten Daten, indem Sie den Wert der benutzerdefinierten Erweiterungseigenschaft auf
null
festlegen. Für offene Erweiterungen die API zum Löschen offener Erweiterungen verwenden.
Antwort
Wenn die Methode erfolgreich verläuft, wird der Antwortcode 204 No Content
zurückgegeben.
Beispiel
Beispiel 1: Aktualisieren der Eigenschaften des angemeldeten Benutzers
Anfrage
Das folgende Beispiel zeigt eine Anfrage.
PATCH https://graph.microsoft.com/v1.0/me
Content-type: application/json
{
"businessPhones": [
"+1 425 555 0109"
],
"officeLocation": "18/2111"
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 204 No Content
Beispiel 2: Aktualisieren der Eigenschaften des angegebenen Benutzers
Anfrage
Das folgende Beispiel zeigt eine Anfrage.
PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json
{
"businessPhones": [
"+1 425 555 0109"
],
"officeLocation": "18/2111"
}
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 204 No Content
Beispiel 3: Aktualisieren des passwordProfiles eines Benutzers und Zurücksetzen des Kennworts
Das folgende Beispiel zeigt eine Anforderung zum Zurücksetzen des Kennworts eines anderen Benutzers. Als bewährte Methode legen Sie forceChangePasswordNextSignIn immer auf fest true
.
- Im delegierten Zugriff muss der aufrufenden App im Namen des angemeldeten Benutzers die delegierte Berechtigung Directory.AccessAsUser.All zugewiesen werden.
- Beim reinen Anwendungszugriff muss der aufrufenden App die Anwendungsberechtigung User.ReadWrite.All (geringste Berechtigung) oder Directory.ReadWrite.All (höhere Rechte) und mindestens die Rolle BenutzeradministratorMicrosoft Entra zugewiesen werden.
Anforderung
PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json
{
"passwordProfile": {
"forceChangePasswordNextSignIn": false,
"password": "xWwvJ]6NMw+bWH-d"
}
}
Antwort
HTTP/1.1 204 No Content
Beispiel 4: Hinzufügen oder Aktualisieren der Werte einer Schemaerweiterung für einen Benutzer
Sie können einen Wert einer einzelnen Eigenschaft oder allen Eigenschaften in der Erweiterung aktualisieren oder zuweisen.
Anforderung
PATCH https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e
Content-type: application/json
{
"ext55gb1l09_msLearnCourses": {
"courseType": "Admin"
}
}
Um den Wert der Schemaerweiterung aus dem Benutzerobjekt zu entfernen, legen Sie die ext55gb1l09_msLearnCourses -Eigenschaft auf fest null
.
Antwort
HTTP/1.1 204 No Content
Beispiel 5: Zuweisen eines benutzerdefinierten Sicherheitsattributes mit einem Zeichenfolgenwert zu einem Benutzer
Das folgende Beispiel zeigt, wie sie einem Benutzer ein benutzerdefiniertes Sicherheitsattribute mit einem Zeichenfolgenwert zuweisen.
- Attributsatz:
Engineering
- Attribut:
ProjectDate
- Attributdatentyp: Zeichenfolge
- Attributwert:
"2022-10-01"
Um benutzerdefinierte Sicherheitsattribute zuzuweisen, muss dem aufrufenden Prinzipal die Rolle "Attributzuweisungsadministrator" zugewiesen werden, und dem aufrufenden Prinzipal muss die Berechtigung CustomSecAttributeAssignment.ReadWrite.All erteilt werden.
Beispiele für benutzerdefinierte Sicherheitsattributezuweisungen finden Sie unter Beispiele: Zuweisen, Aktualisieren, Auflisten oder Entfernen von benutzerdefinierten Sicherheitsattributen mithilfe des Microsoft Graph-API.
Anforderung
PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json
{
"customSecurityAttributes":
{
"Engineering":
{
"@odata.type":"#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
"ProjectDate":"2022-10-01"
}
}
}
Antwort
HTTP/1.1 204 No Content