Arbeiten mit Benutzerprofilen in einem Multi-Geo-MandantenWork with user profiles in a Multi-Geo tenant

In einem Multi-Geo-Mandanten können Sie einen bevorzugten Datenspeicherort für einen Benutzer definieren, den Speicherort eines Benutzerprofils und einer persönlichen Website-URL ermitteln und die Eigenschaften von standardmäßigen und benutzerdefinierten Benutzerprofilen lesen und aktualisieren.In a Multi-Geo tenant, you can define a preferred data location for a user, detect a user's profile location and personal site URL, and read and update default and custom user profile properties.

Definieren eines bevorzugten DatenspeicherortsDefine a preferred data location

In einem Multi-Geo-Mandanten erstrecken sich SharePoint-Benutzer über unterschiedliche geografische Standorte; einige Benutzer befinden sich zum Beispiel in Nordamerika, andere in Europa usw.In a Multi-Geo tenant, SharePoint users span different geo locations; for example, some users are in North America, some are in Europe, and so on. Dieses Modell gilt auch für Benutzerkonten und persönliche Websites (OneDrive for Business).This model also applies to user accounts and personal (OneDrive for Business) sites.

Im Idealfall befinden sich die Benutzer und ihre Benutzerkonten und Websites am selben geografischen Standort.Ideally, the users and their user accounts and sites are in the same geo location. Um dies sicherzustellen, müssen Sie vor dem Erstellen persönlicher Websites den bevorzugten Datenspeicherort des Benutzers auf seinen geografischen Standort festlegen.To ensure this, before you create personal sites, set the user's preferred data location to their geo location.

In dem Beispiel, das in der folgenden Abbildung dargestellt ist, lebt der Benutzer vesa@contoso.onmicrosoft.com in Europa; der bevorzugte Datenspeicherort ist auf EUR festgelegt.In the example shown in the following image, user vesa@contoso.onmicrosoft.com lives in Europe and has a preferred data location set to EUR. Daher gilt:As such:

  • Die Standardkopie des Benutzerprofils befindet sich am geografischen Standort „Europa“.The default copy of the user's profile is in the Europe geo location.
  • Die persönliche Website des Benutzers wird am geografischen Standort „Europa“ erstellt.The user's personal site is created in the Europe geo location.

Der Benutzer bert@contoso.onmicrosoft.com hat seinen bevorzugten Datenspeicherort auf NAM festgelegt.User bert@contoso.onmicrosoft.com has his preferred data location set to NAM. Da seine persönliche Website in Europa gehostet wurde, bevor der bevorzugte Datenspeicherort festgelegt wurde, bleibt das Profil in Europa.Because he had a personal site hosted in Europe before his preferred data location was set, his profile stays in Europe.

Weltkarte, auf der ein standardmäßiger geografischer Standort in Nordamerika sowie Satellitenstandorte in Europa und Asien mit Benutzern, geografischen Standorten und festgelegten bevorzugten Speicherorten angezeigt werden

Benutzerprofile und persönliche Websites befinden sich am selben geografischen Standort.Users' profiles and personal sites are in the same geo location. Für Benutzer, die keine persönliche Website haben:For users who do not have a personal site:

  • Wenn ein bevorzugter Datenspeicherort festgelegt wird, befindet sich ihr Profil an diesem geografischen Standort.If they set a preferred data location, their profile is located in that geo location.
  • Wenn kein bevorzugter Datenspeicherort festgelegt wird, befindet sich ihr Profil am standardmäßigen geografischen Standort.If they have not set a preferred data location, their profile is located in the default geo location.

So ermitteln Sie den Standort und die persönliche Website-URL eines BenutzerprofilsTo detect a user's profile location and personal site URL

Führen Sie eine der folgenden Aktionen aus, um den Standort eines Benutzerprofils programmgesteuert zu ermitteln:To programmatically discover a user's profile location, you can do one of the following:

  • Verwenden Sie die SharePoint-Benutzerprofil-API.Use the SharePoint User Profile API. Dieser Ansatz wird empfohlen, da er in allen Szenarien funktioniert.We recommend this approach because it works in all scenarios.
  • Verwenden Sie Microsoft Graph.Use Microsoft Graph. Dies funktioniert für Benutzer, die auch persönliche Websites haben, aber nicht für Benutzer, die keine persönlichen Websites haben.This works for users who also have personal sites, but not for users who don't have personal sites.

Verwenden der SharePoint-Benutzerprofil-API zum Erkennen des ProfilspeicherortsUse the SharePoint User Profile API to detect profile location

Sie können die SharePoint-Benutzerprofil-API über REST oder CSOM aufrufen, um die persönlichen Website-URL für ein bestimmtes Konto abzurufen.You can call the SharePoint User Profile API via REST or CSOM to retrieve the personal site host URL for a given account. Diese URL enthält den persönlichen Websitehost für die persönliche Website des Benutzers, unabhängig davon, ob die persönliche Website erstellt wurde.This URL contains the personal site host for the user's personal site, regardless of whether the personal site has been created. Das folgende Beispiel zeigt den REST-Aufruf.The following example shows the REST call.

GET https://contoso.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)/personalsitehosturl?%40v=%27i%3A0%23.f%7Cmembership%7Cbert%40contoso.onmicrosoft.com%27

Wenn Sie C# verwenden, ist CSOM einfacher zu verwenden, wie im folgenden Beispiel dargestellt.If you're using C#, CSOM is easier to use, as shown in the following example.

public string GetUserPersonalSiteHostUrlCSOM(string userPrincipalName)
{
    string result = null;

    PeopleManager peopleManager = new PeopleManager(this.clientContext);
    var userProperties = peopleManager.GetPropertiesFor($"i:0#.f|membership|{userPrincipalName}");
    this.clientContext.Load(userProperties);
    this.clientContext.ExecuteQuery();
    result = userProperties.PersonalSiteHostUrl;

    return result;
}

Wenn Sie die URL der persönlichen Website kennen, können Sie diese zusammen mit den Multi-Geo-Ermittlungsinformationen verwenden, um die URL der Mandantenadministratorwebsite für den geografischen Standort abzurufen, an dem das Benutzerprofil gehostet wird.When you have the personal site host URL, you can use that along with the Multi-Geo discovery information to get the tenant admin site URL for the geo location that hosts the user's profile.

Weitere Informationen finden Sie im Beispiel MultiGeo.UserProfileUpdates.To learn more, see the MultiGeo.UserProfileUpdates sample.

Verwenden von Microsoft Graph zum Erkennen der persönlichen Website-URL des BenutzersUse Microsoft Graph to detect user's personal site URL

Sie können den folgenden Microsoft Graph-Aufruf verwenden, um die URL einer persönlichen Website eines Benutzers in einem Multi-Geo-Mandanten zu ermitteln:To discover a user's personal site URL in a Multi-Geo tenant, you can use the following Microsoft Graph call:

GET https://graph.microsoft.com/v1.0/users/bert@contoso.onmicrosoft.com?$select=mySite

Wenn Sie die URL der persönlichen Website kennen, können Sie diese zusammen mit den Multi-Geo-Ermittlungsinformationen verwenden, um die URL der Mandantenadministratorwebsite für den geografischen Standort abzurufen, an dem das Benutzerprofil gehostet wird.When you have the personal site host URL, you can use that along with the Multi-Geo discovery information to get the tenant admin site URL for the geo location that hosts the user's profile.

Hinweis

Wenn der Benutzer keine persönliche Website hat, funktioniert dieser Ansatz nicht.If the user doesn't have a personal site, this approach will not work. Verwenden Sie stattdessen die SharePoint-Benutzerprofil-API.Instead, you should use the SharePoint User Profile API.

Weitere Informationen finden Sie im Beispiel MultiGeo.UserProfileUpdates.To learn more, see the MultiGeo.UserProfileUpdates sample.

Aktualisieren von BenutzerprofileigenschaftenUpdate user profile properties

Massenaktualisierungen an Benutzerprofileigenschaften sind ein gängiges Szenario für Enterprise-Kunden.Making bulk updates to user profile properties is a common scenario for enterprise customers. Der zu verwendende Prozess basiert auf dem Typ der Benutzerprofileigenschaft, die Sie aktualisieren möchten.The process to use varies based on the type of user profile property that you want to update.

Aktualisieren der Standardeigenschaften des BenutzerprofilsUpdate default user profile properties

Einige Benutzerprofileigenschaften sind standardmäßig verfügbar, z. B. Department, AboutMe und PreferredDataLocation.Some user profile properties are available by default, for example, Department, AboutMe, and PreferredDataLocation. Es wird empfohlen, dass Sie die Microsoft Graph-API verwenden, um diese Eigenschaften zu aktualisieren, da Microsoft Graph Geo-fähig ist.We recommend that you use the Microsoft Graph API to update these properties because Microsoft Graph is geo-aware.

Das folgende Beispiel zeigt, wie Sie die AboutMe-Eigenschaft für den Benutzer bert@contoso.onmicrosoft.com aktualisieren.The following example shows how to update the AboutMe property for the user bert@contoso.onmicrosoft.com.

GET https://graph.microsoft.com/v1.0/users/bert@contoso.onmicrosoft.com?$select=aboutme

Weitere Informationen finden Sie im Beispiel MultiGeo.UserProfileUpdates.For more information, see the MultiGeo.UserProfileUpdates sample.

Aktualisieren der PreferredDataLocation-EigenschaftUpdate the preferred data location property

Der bevorzugte Datenspeicherort des Benutzers (preferredDataLocation-Eigenschaft) gibt den bevorzugten geografischen Standort für den Benutzer an.The user's preferred data location (preferredDataLocation property) indicates the preferred geo location for the user. Dies wirkt sich auf Folgendes aus:This affects the following:

  • Den geografischen Standort, an dem die persönliche Website des Benutzers bereitgestellt wird.The geo location where the user's personal site is provisioned
  • Den geografischen Standort, an dem die Gruppenwebsites des Benutzers erstellt werden.The geo location where the user's group sites are created

Da es sich beim bevorzugten Datenspeicherort um eine Standardeigenschaft handelt, wird empfohlen, dass Sie die Microsoft Graph-API zum Konfigurieren verwenden, wie im folgenden Beispiel dargestellt.Because the preferred data location is a default property, we recommend that you use the Microsoft Graph API to configure it, as shown in the following example.

GET https://graph.microsoft.com/v1.0/users/bert@contoso.onmicrosoft.com?$select=preferredDataLocation

PATCH https://graph.microsoft.com/beta/users/bert@contoso.onmicrosoft.com

JSON payload:
{
    "preferredDataLocation" : "eur"
}

Weitere Informationen finden Sie im Beispiel MultiGeo.UserPreferredDataLocation.For more information, see the MultiGeo.UserPreferredDataLocation sample.

Hinzufügen von benutzerdefinierten Benutzerprofileigenschaften in SharePointAdd custom SharePoint user profile properties

Sie können unternehmensspezifische Benutzerprofileigenschaften zu Benutzerprofilen in SharePoint hinzufügen.You can add company-specific user profile properties to user profiles in SharePoint. Für Multi-Geo-Mandanten in SharePoint gelten die folgenden Überlegungen:For SharePoint Multi-Geo tenants, the following considerations apply:

  • Benutzerdefinierte Benutzerprofileigenschaften werden auf der Ebene des geografischen Standorts erstellt.Custom user profile properties are created at the geo location level. Wenn Sie eine Eigenschaft im geografischen Standort „Europa“ erstellen, ist diese Eigenschaft nicht an den anderen geografischen Standorten verfügbar.If you create a property in the Europe geo location, that property is not available in the other geo locations. Als bewährte Methode erstellen Sie benutzerdefinierte Benutzerprofileigenschaften an allen geografischen Standorten.As a best practice, create custom user profile properties in all geo locations. Dadurch wird das Risiko minimiert, dass Daten verloren gehen, wenn sich ein Benutzer über geografische Standorte hinweg bewegt.This reduces the risk that data will be lost when a user moves across geo locations.
  • Sie müssen benutzerdefinierte Benutzerprofileigenschaften auf der Ebene des geografischen Standorts lesen und aktualisieren.You must read and update custom user profile properties at the geo location level. Wenn Sie eine benutzerdefinierte Eigenschaft an allen geografischen Standorten erstellt haben, müssen Sie die geografischen Standorte durchlaufen und die Eigenschaft für alle Benutzer aktualisieren.If you created a custom property in all geo locations, you need to iterate over the geo locations and update the property for all users.
// For SharePoint Online custom properties, use the following approach.
string userPrincipalName = "bert@contoso.onmicrosoft.com";
string userAccountName = $"i:0#.f|membership|{userPrincipalName}";
PeopleManager peopleManager = new PeopleManager(tenantAdminContext);
var propsToRetrieve = new string[] { "CostCenter", "CustomProperty" };
var props = peopleManager.GetUserProfilePropertiesFor(new UserProfilePropertiesForUser(tenantAdminContext, userAccountName, propsToRetrieve));
tenantAdminContext.ExecuteQuery();

int i = 0;
foreach (var prop in props)
{
    Console.WriteLine($"Prop: {propsToRetrieve[i]} Value: {prop}");
    i++;
}

// Update user profile properties
peopleManager.SetSingleValueProfileProperty(userAccountName, "CostCenter", "89786879");
tenantAdminContext.ExecuteQuery();

Weitere Informationen finden Sie im Beispiel MultiGeo.UserProfileUpdates.For more information, see the MultiGeo.UserProfileUpdates sample.

Verwenden der API für Massenaktualisierung von BenutzerprofilenUse the bulk user profile update API

Sie können die API für Massenaktualisierung von Benutzerprofilen verwenden, um Massenaktualisierungen an Benutzerprofileigenschaften in einem Multi-Geo-Mandanten vorzunehmen.You can use the bulk user profile update API to make bulk updates to custom user profile properties in a Multi-Geo tenant. Beachten Sie Folgendes:Note the following:

  • Diese API funktioniert auf der Ebene des geografischen Standorts und ist nicht Multi-Geo-fähig.This API works at the geo location level and is not Multi-Geo-aware. Wenn Sie die API beispielsweise am geografischen Standort „Europa“ verwenden, werden nur Konten in Europa aktualisiert.For example, if you use the API in the Europe geo location, only accounts in Europe are updated.
  • Wenn Sie eine Importdatei mit Konten an unterschiedlichen geografischen Standorten angeben, aktualisiert die API nur die Eigenschaften der Benutzer am jeweiligen geografischen Standort.If you specify an import file with accounts in different geo locations, the API only updates the properties for the users in that geo location.

Siehe auchSee also