Namespace: microsoft.graph
Wichtig
Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.
Aktualisieren der Eigenschaften eines Benutzers. Um diese API zum Aktualisieren eines agentUser zu verwenden, geben Sie eine @odata.type-Eigenschaft mit dem Wert im #microsoft.graph.agentUser Anforderungstext an.
- Nicht alle Unterkünfte 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 External ID in externen Mandanten können diesen API-Vorgang ebenfalls verwenden, um ihre Details zu aktualisieren. Eine Liste der Eigenschaften, die diese aktualisieren können, finden Sie unter Standardbenutzerberechtigungen in externen Mandanten .
- Für synchronisierte Benutzer wird die Möglichkeit, bestimmte Eigenschaften zu aktualisieren, zusätzlich durch die Quelle der Autorität bestimmt und ob die Synchronisierung aktiviert ist.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
| Weltweiter Service |
US Government L4 |
US Government L5 (DOD) |
China, betrieben von 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Berechtigungen
Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
Berechtigungen zum Aktualisieren von Benutzern
| Berechtigungstyp |
Berechtigungen mit den geringsten Berechtigungen |
Berechtigungen mit höheren Berechtigungen |
| Delegiert (Geschäfts-, Schul- oder Unikonto) |
User.ReadUpdate.All |
User.ReadWrite.All, Directory.ReadWrite.All |
| Delegiert (persönliches Microsoft-Konto) |
User.ReadWrite |
Nicht verfügbar. |
| Application |
User.ReadUpdate.All |
User.ReadWrite.All, Directory.ReadWrite.All |
Berechtigungen für bestimmte Szenarien
-
User.ReadWrite ist die Berechtigung mit den geringsten Berechtigungen zum Aktualisieren von Details für den angemeldeten Benutzer.
- 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.
- So aktualisieren Sie die employeeLeaveDateTime-Eigenschaft :
- In delegierten Szenarien benötigt der Administrator die Rolle des globalen Administrators . Der App müssen die delegierten Berechtigungen User.Read.All und User-LifeCycleInfo.ReadWrite.All erteilt werden.
- In Nur-App-Szenarien mit Microsoft Graph-Berechtigungen müssen der App die Berechtigungen User.Read.All und User-LifeCycleInfo.ReadWrite.All erteilt werden.
- So aktualisieren Sie die customSecurityAttributes-Eigenschaft :
- In delegierten Szenarien muss dem Administrator die Rolle des Attributzuweisungsadministrators zugewiesen und der App die Berechtigung CustomSecAttributeAssignment.ReadWrite.All erteilt werden.
- In Nur-App-Szenarien mit Microsoft Graph-Berechtigungen muss der App die Berechtigung CustomSecAttributeAssignment.ReadWrite.All erteilt werden.
-
User-Mail.ReadWrite.All ist die Berechtigung mit den geringsten Berechtigungen, um die Eigenschaft otherMails zu aktualisieren.
-
User-PasswordProfile.ReadWrite.All ist die Berechtigung mit den geringsten Berechtigungen, um die passwordProfile-Eigenschaft zu aktualisieren.
-
User-Phone.ReadWrite.All ist die Berechtigung mit den geringsten Berechtigungen zum Aktualisieren der Eigenschaften "businessPhones" und "mobilePhone".
-
User.EnableDisableAccount.All + User.Read.All ist die am wenigsten privilegierte Kombination von Berechtigungen zum Aktualisieren der accountEnabled-Eigenschaft .
-
User.ManageIdentities.All ist erforderlich , um die Eigenschaft identities zu aktualisieren.
HTTP-Anforderung
Aktualisieren Sie Ihre eigenen Benutzereigenschaften.
Hinweis
Das Aufrufen des /me-Endpunkts erfordert einen angemeldeten Benutzer und daher eine delegierte Berechtigung. Anwendungsberechtigungen werden bei Verwendung des /me Endpunkts nicht unterstützt.
PATCH /me
Aktualisieren der Eigenschaften eines anderen Benutzers.
PATCH /users/{id | userPrincipalName}
Anforderungstext
Geben Sie im Anforderungstext nur die Werte für die zu aktualisierenden 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.
Um diese API zum Aktualisieren eines agentUser zu verwenden, müssen Sie den @odata.type wie #microsoft.graph.agentUser im Anforderungstext angeben.
| 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.
User.EnableDisableAccount.All + User.Read.All ist die am wenigsten privilegierte Kombination von Berechtigungen, die zum Aktualisieren dieser Eigenschaft erforderlich ist. In delegierten Szenarien ist "Administrator für privilegierte Authentifizierung " die Rolle mit den geringsten Berechtigungen, die diese Eigenschaft für alle Administratoren im Mandanten aktualisieren darf. Im Allgemeinen muss der angemeldete Benutzer über eine höhere privilegierte Administratorrolle verfügen, wie unter Wer darf vertrauliche Aktionen ausführen angegeben. In reinen App-Szenarien muss der App zusätzlich zu den Microsoft Graph-Berechtigungen eine höhere privilegierte Administratorrolle zugewiesen werden, wie unter Wer darf vertrauliche Aktionen ausführen. |
| 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. |
| assignedLicenses |
assignedLicense collection |
Die Lizenzen, die dem Benutzer zugewiesen sind. Lässt keine NULL-Werte zu. |
| 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 es sich um eine Zeichenfolgensammlung handelt, kann für diese Eigenschaft nur eine Zahl festgelegt werden.
User-Phone.ReadWrite.All ist die Berechtigung mit den geringsten Berechtigungen, um diese Eigenschaft zu aktualisieren. |
| Ort |
Zeichenfolge |
Die Stadt, in der sich der Benutzer befindet. |
| CompanyName |
String |
Der Name des Unternehmens, mit dem der Benutzer verbunden 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, Deniedund 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. Um diese Eigenschaft in delegierten Szenarien zu aktualisieren, muss dem aufrufenden Prinzipal die Rolle des Attributzuweisungsadministrators zugewiesen und der App die delegierte Berechtigung CustomSecAttributeAssignment.ReadWrite.All erteilt werden.Um diese Eigenschaft in Nur-App-Szenarien mit Microsoft Graph-Berechtigungen zu aktualisieren, muss der App die Anwendungsberechtigung CustomSecAttributeAssignment.ReadWrite.All erteilt werden. |
| department |
Zeichenfolge |
Der Name der Abteilung, in der der Benutzer arbeitet. |
| displayName |
Zeichenfolge |
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 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. |
| 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 |
Datum und Uhrzeit, wann der Benutzer die organization verlassen hat oder verlassen wird. Der Zeitstempeltyp stellt Datums- und Uhrzeitinformationen im ISO 8601-Format dar und wird immer in UTC-Zeit angegeben. Zum Beispiel, Mitternacht UTC am 1. Januar 2014 ist 2014-01-01T00:00:00Z. Um diese Eigenschaft zu aktualisieren, müssen der aufrufenden App die Berechtigungen "User-LifeCycleInfo.Read.All" und " User.Read.All " zugewiesen werden. Um diese Eigenschaft in delegierten Szenarien zu aktualisieren, benötigt der Administrator die Rolle "Globaler Administrator". |
| employeeOrgData |
employeeOrgData |
Stellt organization-Daten (z. B. Division und costCenter) dar, die einem Benutzer zugeordnet sind. Beim Aktualisieren von employeeOrgData werden beide Eigenschaftswerte eingeschlossen. Wenn Sie welche auslassen, werden sie vom System auf nullgesetzt. |
| identities |
objectIdentity-Sammlung |
Stellt die Identitäten dar, mit denen Sie sich bei diesem Benutzerkonto anmelden können. Eine Identität kann von Microsoft, von Organisationen oder von Social Media-Identitäsanbietern wie Facebook, Google und Microsoft bereitgestellt und an ein Benutzerkonto gebunden werden. Jedes Update von Identitäten ersetzt die gesamte Auflistung, und Sie müssen die signInType-Identität userPrincipalName in der Auflistung angeben.
HINWEIS: Das Hinzufügen eines lokalen B2C-Kontos zu einem vorhandenen Benutzerobjekt ist nicht zulässig, es sei denn, das Benutzerobjekt enthält bereits eine lokale Kontoidentität. |
| interests |
String collection |
Eine Liste für den Benutzer, um dessen Interessen zu beschreiben. |
| jobTitle |
Zeichenfolge |
Die Position des Benutzers. |
| mail |
Zeichenfolge |
SMTP-Adresse für den Benutzer, z. B. jeff@contoso.com. Bei Azure AD B2C-Konten kann diese Eigenschaft mit eindeutigen SMTP-Adressen nur bis zu 10-mal aktualisiert werden. Änderungen an dieser Eigenschaft aktualisieren auch die proxyAddresses-Auflistung des Benutzers, um den Wert als SMTP-Adresse aufzunehmen. Kann nicht aktualisiert werden auf null. |
| mailNickname |
Zeichenfolge |
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.
User-Phone.ReadWrite.All ist die Berechtigung mit den geringsten Berechtigungen, um diese Eigenschaft zu aktualisieren. In delegierten Szenarien ist "Administrator für privilegierte Authentifizierung " die Rolle mit den geringsten Berechtigungen, die diese Eigenschaft für alle Administratoren im Mandanten aktualisieren darf. Im Allgemeinen muss der angemeldete Benutzer über eine höhere privilegierte Administratorrolle verfügen, wie unter Wer darf vertrauliche Aktionen ausführen angegeben. In reinen App-Szenarien muss der App zusätzlich zu den Microsoft Graph-Berechtigungen eine höhere privilegierte Administratorrolle zugewiesen werden, wie unter Wer darf vertrauliche Aktionen ausführen. |
| 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 |
Zeichenfolge |
Diese Eigenschaft wird verwendet, um ein lokales Active Directory-Benutzerkonto seinem Microsoft Entra-Benutzerobjekt zuzuordnen. Diese Eigenschaft muss beim Erstellen eines neuen Benutzerkontos im Graph angegeben werden, wenn Sie eine Verbunddomäne für die userPrincipalName (UPN)-Eigenschaft des Benutzers verwenden.
Wichtig: Die $ Zeichen und _ können nicht verwendet werden, wenn diese Eigenschaft angegeben wird. |
| otherMails |
Zeichenfolgensammlung |
Eine Liste zusätzlicher E-Mail-Adressen für den Benutzer; z. B.: ["bob@contoso.com", "Robert@fabrikam.com"]. Um diese Eigenschaft zu aktualisieren, übergeben Sie alle E-Mail-Adressen, die der Benutzer haben soll. Andernfalls werden vorhandene Werte durch die von Ihnen angegebenen Werte überschrieben. Kann bis zu 250 Werte mit jeweils 250 Zeichen speichern.
User-Mail.ReadWrite.All ist die Berechtigung mit den geringsten Berechtigungen, um diese Eigenschaft zu aktualisieren. In delegierten Szenarien ist "Administrator für privilegierte Authentifizierung " die Rolle mit den geringsten Berechtigungen, die diese Eigenschaft für alle Administratoren im Mandanten aktualisieren darf. Im Allgemeinen muss der angemeldete Benutzer über eine höhere privilegierte Administratorrolle verfügen, wie unter Wer darf vertrauliche Aktionen ausführen angegeben. In reinen App-Szenarien muss der App zusätzlich zu den Microsoft Graph-Berechtigungen eine höhere privilegierte Administratorrolle zugewiesen werden, wie unter Wer darf vertrauliche Aktionen ausführen. |
| 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. Legen Sie als bewährte Methode den Wert für forceChangePasswordNextSignIn immer auf true. Dies kann nicht für Verbundbenutzer verwendet werden.
User-PasswordProfile.ReadWrite.All ist die Berechtigung mit den geringsten Berechtigungen, um diese Eigenschaft zu aktualisieren. In delegierten Szenarien ist die Administratorrolle BenutzeradministratorMicrosoft Entra die Administratorrolle mit den geringsten Berechtigungen, die unterstützt wird, um diese Eigenschaft für Benutzer ohne Administratorrechte zu aktualisieren.
"Administrator für privilegierte Authentifizierung" ist die Rolle mit den geringsten Berechtigungen, die diese Eigenschaft für alle Administratoren im Mandanten aktualisieren darf. Im Allgemeinen muss der angemeldete Benutzer über eine höhere privilegierte Administratorrolle verfügen, wie unter Wer kann Kennwörter zurücksetzen angegeben. In reinen App-Szenarien muss der aufrufenden App eine unterstützte Berechtigung und mindestens die Rolle Benutzeradministrator Microsoft Entra zugewiesen 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 aufzählen 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 |
Zeichenfolge |
Der Nachname des Benutzers. |
| usageLocation |
Zeichenfolge |
Ein aus zwei Buchstaben bestehender Ländercode (ISO-Standard 3166). Erforderlich für Benutzer, denen Lizenzen zugewiesen werden, da gesetzlich vorgeschrieben ist, die Verfügbarkeit von Diensten in Ländern/Regionen zu überprüfen. Beispiele sind US, JP und GB. Lässt keine NULL-Werte zu. |
| userPrincipalName |
Zeichenfolge |
Der User Principal Name (UPN) des Benutzers. Der UPN ist ein Anmeldename im Internetstil 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. |
Da die BenutzerressourceErweiterungen unterstützt, können Sie den PATCH Vorgang verwenden, um Ihre eigenen App-spezifischen Daten in benutzerdefinierten Eigenschaften einer Erweiterung in einer vorhandenen Benutzer-instance hinzuzufügen, zu aktualisieren oder zu löschen.
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 in der obigen Tabelle aufgeführten Eigenschaften anzugeben: 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.
Wenn die ID zu einem agentUser gehört und Sie den @odata.type nicht wie #microsoft.graph.agentUser im Anforderungstext angeben, gibt diese Methode einen 400 Bad Request Fehlercode zurück.
Beispiel
Beispiel 1: Aktualisieren der Eigenschaften des angemeldeten Benutzers
Anfrage
Das folgende Beispiel zeigt eine Anfrage.
PATCH https://graph.microsoft.com/beta/me
Content-type: application/json
{
"businessPhones": [
"+1 425 555 0109"
],
"officeLocation": "18/2111"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new User
{
BusinessPhones = new List<string>
{
"+1 425 555 0109",
},
OfficeLocation = "18/2111",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewUser()
businessPhones := []string {
"+1 425 555 0109",
}
requestBody.SetBusinessPhones(businessPhones)
officeLocation := "18/2111"
requestBody.SetOfficeLocation(&officeLocation)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
me, err := graphClient.Me().Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
User user = new User();
LinkedList<String> businessPhones = new LinkedList<String>();
businessPhones.add("+1 425 555 0109");
user.setBusinessPhones(businessPhones);
user.setOfficeLocation("18/2111");
User result = graphClient.me().patch(user);
const options = {
authProvider,
};
const client = Client.init(options);
const user = {
businessPhones: [
'+1 425 555 0109'
],
officeLocation: '18/2111'
};
await client.api('/me')
.version('beta')
.update(user);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\User;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new User();
$requestBody->setBusinessPhones(['+1 425 555 0109', ]);
$requestBody->setOfficeLocation('18/2111');
$result = $graphServiceClient->me()->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Users
$params = @{
businessPhones = @(
"+1 425 555 0109"
)
officeLocation = "18/2111"
}
# A UPN can also be used as -UserId.
Update-MgBetaUser -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.user import User
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = User(
business_phones = [
"+1 425 555 0109",
],
office_location = "18/2111",
)
result = await graph_client.me.patch(request_body)
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 204 No Content
Beispiel 2: Aktualisieren von Eigenschaften eines bestimmten Benutzers nach ID
Anforderung
Das folgende Beispiel zeigt eine Anfrage. Da die Anforderung nicht die Eigenschaft @odata.type enthält, erwartet Microsoft Graph die {id} eines Benutzerobjekts und nicht eines agentUser-Objekts .
PATCH https://graph.microsoft.com/beta/users/{id}
Content-type: application/json
{
"businessPhones": [
"+1 425 555 0109"
],
"officeLocation": "18/2111",
"authorizationInfo": {
"certificateUserIds": [
"5432109876543210@mil"
]
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new User
{
BusinessPhones = new List<string>
{
"+1 425 555 0109",
},
OfficeLocation = "18/2111",
AuthorizationInfo = new AuthorizationInfo
{
CertificateUserIds = new List<string>
{
"5432109876543210@mil",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewUser()
businessPhones := []string {
"+1 425 555 0109",
}
requestBody.SetBusinessPhones(businessPhones)
officeLocation := "18/2111"
requestBody.SetOfficeLocation(&officeLocation)
authorizationInfo := graphmodels.NewAuthorizationInfo()
certificateUserIds := []string {
"5432109876543210@mil",
}
authorizationInfo.SetCertificateUserIds(certificateUserIds)
requestBody.SetAuthorizationInfo(authorizationInfo)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
users, err := graphClient.Users().ByUserId("user-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
User user = new User();
LinkedList<String> businessPhones = new LinkedList<String>();
businessPhones.add("+1 425 555 0109");
user.setBusinessPhones(businessPhones);
user.setOfficeLocation("18/2111");
AuthorizationInfo authorizationInfo = new AuthorizationInfo();
LinkedList<String> certificateUserIds = new LinkedList<String>();
certificateUserIds.add("5432109876543210@mil");
authorizationInfo.setCertificateUserIds(certificateUserIds);
user.setAuthorizationInfo(authorizationInfo);
User result = graphClient.users().byUserId("{user-id}").patch(user);
const options = {
authProvider,
};
const client = Client.init(options);
const user = {
businessPhones: [
'+1 425 555 0109'
],
officeLocation: '18/2111',
authorizationInfo: {
certificateUserIds: [
'5432109876543210@mil'
]
}
};
await client.api('/users/{id}')
.version('beta')
.update(user);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\User;
use Microsoft\Graph\Beta\Generated\Models\AuthorizationInfo;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new User();
$requestBody->setBusinessPhones(['+1 425 555 0109', ]);
$requestBody->setOfficeLocation('18/2111');
$authorizationInfo = new AuthorizationInfo();
$authorizationInfo->setCertificateUserIds(['5432109876543210@mil', ]);
$requestBody->setAuthorizationInfo($authorizationInfo);
$result = $graphServiceClient->users()->byUserId('user-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Users
$params = @{
businessPhones = @(
"+1 425 555 0109"
)
officeLocation = "18/2111"
authorizationInfo = @{
certificateUserIds = @(
"5432109876543210@mil"
)
}
}
Update-MgBetaUser -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.user import User
from msgraph_beta.generated.models.authorization_info import AuthorizationInfo
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = User(
business_phones = [
"+1 425 555 0109",
],
office_location = "18/2111",
authorization_info = AuthorizationInfo(
certificate_user_ids = [
"5432109876543210@mil",
],
),
)
result = await graph_client.users.by_user_id('user-id').patch(request_body)
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 204 No Content
Beispiel 3: Aktualisieren des KennwortProfils eines Benutzers und Zurücksetzen des Kennworts
Das folgende Beispiel zeigt eine Anforderung, die das Kennwort eines anderen Benutzers zurücksetzt. Legen Sie als bewährte Methode den Wert für forceChangePasswordNextSignIn immer auf true.
-
User-PasswordProfile.ReadWrite.All ist die Berechtigung mit den geringsten Berechtigungen, um die passwordProfile-Eigenschaft zu aktualisieren.
- In delegierten Szenarien muss der Anruf-App eine unterstützte Berechtigung und eine unterstützte Microsoft Entra-Rolle zugewiesen werden.
-
"Administrator für privilegierte Authentifizierung" ist die Rolle mit den geringsten Berechtigungen, die diese Eigenschaft für alle Administratoren im Mandanten aktualisieren darf.
- Im Allgemeinen muss der angemeldete Benutzer über eine höhere privilegierte Administratorrolle verfügen, wie unter Wer kann Kennwörter zurücksetzen angegeben.
- In reinen App-Szenarien mit Microsoft Graph-Anwendungsberechtigungen ist User-PasswordProfile.ReadWrite.All die Berechtigung mit den geringsten Berechtigungen.
Anforderung
PATCH https://graph.microsoft.com/beta/users/{id}
Content-type: application/json
{
"passwordProfile": {
"forceChangePasswordNextSignIn": true,
"password": "xWwvJ]6NMw+bWH-d"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new User
{
PasswordProfile = new PasswordProfile
{
ForceChangePasswordNextSignIn = true,
Password = "xWwvJ]6NMw+bWH-d",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewUser()
passwordProfile := graphmodels.NewPasswordProfile()
forceChangePasswordNextSignIn := true
passwordProfile.SetForceChangePasswordNextSignIn(&forceChangePasswordNextSignIn)
password := "xWwvJ]6NMw+bWH-d"
passwordProfile.SetPassword(&password)
requestBody.SetPasswordProfile(passwordProfile)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
users, err := graphClient.Users().ByUserId("user-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
User user = new User();
PasswordProfile passwordProfile = new PasswordProfile();
passwordProfile.setForceChangePasswordNextSignIn(true);
passwordProfile.setPassword("xWwvJ]6NMw+bWH-d");
user.setPasswordProfile(passwordProfile);
User result = graphClient.users().byUserId("{user-id}").patch(user);
const options = {
authProvider,
};
const client = Client.init(options);
const user = {
passwordProfile: {
forceChangePasswordNextSignIn: true,
password: 'xWwvJ]6NMw+bWH-d'
}
};
await client.api('/users/{id}')
.version('beta')
.update(user);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\User;
use Microsoft\Graph\Beta\Generated\Models\PasswordProfile;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new User();
$passwordProfile = new PasswordProfile();
$passwordProfile->setForceChangePasswordNextSignIn(true);
$passwordProfile->setPassword('xWwvJ]6NMw+bWH-d');
$requestBody->setPasswordProfile($passwordProfile);
$result = $graphServiceClient->users()->byUserId('user-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Users
$params = @{
passwordProfile = @{
forceChangePasswordNextSignIn = $true
password = "xWwvJ]6NMw+bWH-d"
}
}
Update-MgBetaUser -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.user import User
from msgraph_beta.generated.models.password_profile import PasswordProfile
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = User(
password_profile = PasswordProfile(
force_change_password_next_sign_in = True,
password = "xWwvJ]6NMw+bWH-d",
),
)
result = await graph_client.users.by_user_id('user-id').patch(request_body)
Antwort
HTTP/1.1 204 No Content
Beispiel 4: Zuweisen eines benutzerdefinierten Sicherheitsattributs mit einem Zeichenfolgenwert zu einem Benutzer
Im folgenden Beispiel wird gezeigt, wie einem Benutzer ein benutzerdefiniertes Sicherheitsattribut mit einem Zeichenfolgenwert zugewiesen wird.
- 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 Sicherheitsattributzuweisungen finden Sie unter Beispiele: Zuweisen, Aktualisieren, Auflisten oder Entfernen von benutzerdefinierten Sicherheitsattributzuweisungen mithilfe der Microsoft Graph-API.
Anforderung
PATCH https://graph.microsoft.com/beta/users/{id}
Content-type: application/json
{
"customSecurityAttributes":
{
"Engineering":
{
"@odata.type":"#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
"ProjectDate":"2022-10-01"
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new User
{
CustomSecurityAttributes = new CustomSecurityAttributeValue
{
AdditionalData = new Dictionary<string, object>
{
{
"Engineering" , new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"@odata.type", new UntypedString("#Microsoft.DirectoryServices.CustomSecurityAttributeValue")
},
{
"projectDate", new UntypedString("2022-10-01")
},
})
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewUser()
customSecurityAttributes := graphmodels.NewCustomSecurityAttributeValue()
additionalData := map[string]interface{}{
engineering := graph.New()
projectDate := "2022-10-01"
engineering.SetProjectDate(&projectDate)
customSecurityAttributes.SetEngineering(engineering)
}
customSecurityAttributes.SetAdditionalData(additionalData)
requestBody.SetCustomSecurityAttributes(customSecurityAttributes)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
users, err := graphClient.Users().ByUserId("user-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
User user = new User();
CustomSecurityAttributeValue customSecurityAttributes = new CustomSecurityAttributeValue();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
engineering = new ();
engineering.setOdataType("#Microsoft.DirectoryServices.CustomSecurityAttributeValue");
engineering.setProjectDate("2022-10-01");
additionalData.put("Engineering", engineering);
customSecurityAttributes.setAdditionalData(additionalData);
user.setCustomSecurityAttributes(customSecurityAttributes);
User result = graphClient.users().byUserId("{user-id}").patch(user);
const options = {
authProvider,
};
const client = Client.init(options);
const user = {
customSecurityAttributes:
{
Engineering:
{
'@odata.type':'#Microsoft.DirectoryServices.CustomSecurityAttributeValue',
ProjectDate: '2022-10-01'
}
}
};
await client.api('/users/{id}')
.version('beta')
.update(user);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\User;
use Microsoft\Graph\Beta\Generated\Models\CustomSecurityAttributeValue;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new User();
$customSecurityAttributes = new CustomSecurityAttributeValue();
$additionalData = [
'Engineering' => [
'@odata.type' => '#Microsoft.DirectoryServices.CustomSecurityAttributeValue',
'projectDate' => '2022-10-01',
],
];
$customSecurityAttributes->setAdditionalData($additionalData);
$requestBody->setCustomSecurityAttributes($customSecurityAttributes);
$result = $graphServiceClient->users()->byUserId('user-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Users
$params = @{
customSecurityAttributes = @{
Engineering = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
ProjectDate = "2022-10-01"
}
}
}
Update-MgBetaUser -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.user import User
from msgraph_beta.generated.models.custom_security_attribute_value import CustomSecurityAttributeValue
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = User(
custom_security_attributes = CustomSecurityAttributeValue(
additional_data = {
"engineering" : {
"@odata_type" : "#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
"project_date" : "2022-10-01",
},
}
),
)
result = await graph_client.users.by_user_id('user-id').patch(request_body)
Antwort
HTTP/1.1 204 No Content
Beispiel 5: 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/beta/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e
Content-type: application/json
{
"ext55gb1l09_msLearnCourses": {
"courseType": "Admin"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new User
{
AdditionalData = new Dictionary<string, object>
{
{
"ext55gb1l09_msLearnCourses" , new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"courseType", new UntypedString("Admin")
},
})
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewUser()
additionalData := map[string]interface{}{
ext55gb1l09_msLearnCourses := graph.New()
courseType := "Admin"
ext55gb1l09_msLearnCourses.SetCourseType(&courseType)
requestBody.SetExt55gb1l09_msLearnCourses(ext55gb1l09_msLearnCourses)
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
users, err := graphClient.Users().ByUserId("user-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
User user = new User();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
ext55gb1l09MsLearnCourses = new ();
ext55gb1l09MsLearnCourses.setCourseType("Admin");
additionalData.put("ext55gb1l09_msLearnCourses", ext55gb1l09MsLearnCourses);
user.setAdditionalData(additionalData);
User result = graphClient.users().byUserId("{user-id}").patch(user);
const options = {
authProvider,
};
const client = Client.init(options);
const user = {
ext55gb1l09_msLearnCourses: {
courseType: 'Admin'
}
};
await client.api('/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e')
.version('beta')
.update(user);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\User;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new User();
$additionalData = [
'ext55gb1l09_msLearnCourses' => [
'courseType' => 'Admin',
],
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->users()->byUserId('user-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Users
$params = @{
ext55gb1l09_msLearnCourses = @{
courseType = "Admin"
}
}
Update-MgBetaUser -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.user import User
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = User(
additional_data = {
"ext55gb1l09_ms_learn_courses" : {
"course_type" : "Admin",
},
}
)
result = await graph_client.users.by_user_id('user-id').patch(request_body)
Um den Wert der Schemaerweiterung aus dem Benutzerobjekt zu entfernen, legen Sie die ext55gb1l09_msLearnCourses-Eigenschaft auf nullfest.
Antwort
HTTP/1.1 204 No Content
Verwandte Inhalte