Freigeben über


Arbeiten mit Benutzerprofilen in einem Multi-Geo-Mandanten

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.

Definieren eines bevorzugten Datenspeicherorts

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. Dieses Modell gilt auch für Benutzerkonten und persönliche Websites (OneDrive for Business).

Im Idealfall befinden sich die Benutzer und ihre Benutzerkonten und Websites am selben geografischen Standort. Um dies sicherzustellen, müssen Sie vor dem Erstellen persönlicher Websites den bevorzugten Datenspeicherort des Benutzers auf seinen geografischen Standort festlegen.

In dem Beispiel, das in der folgenden Abbildung gezeigt wird, lebt der Benutzer vesa@contoso.onmicrosoft.com in Europa und hat einen bevorzugten Datenspeicherort auf EUR festgelegt. Daher gilt:

  • Die Standardkopie des Benutzerprofils befindet sich am geografischen Standort „Europa“.
  • Die persönliche Website des Benutzers wird am geografischen Standort „Europa“ erstellt.

Der benutzer bert@contoso.onmicrosoft.com hat seinen bevorzugten Datenspeicherort auf NAM festgelegt. Da seine persönliche Website in Europa gehostet wurde, bevor der bevorzugte Datenspeicherort festgelegt wurde, bleibt das Profil in Europa.

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. Für Benutzer, die keine persönliche Website haben:

  • Wenn ein bevorzugter Datenspeicherort festgelegt wird, befindet sich ihr Profil an diesem geografischen Standort.
  • Wenn kein bevorzugter Datenspeicherort festgelegt wird, befindet sich ihr Profil am standardmäßigen geografischen Standort.

So ermitteln Sie den Standort und die persönliche Website-URL eines Benutzerprofils

Führen Sie eine der folgenden Aktionen aus, um den Standort eines Benutzerprofils programmgesteuert zu ermitteln:

  • Verwenden Sie die SharePoint-Benutzerprofil-API. Dieser Ansatz wird empfohlen, da er in allen Szenarien funktioniert.
  • Verwenden Sie Microsoft Graph. Dies funktioniert für Benutzer, die auch persönliche Websites haben, aber nicht für Benutzer, die keine persönlichen Websites haben.

Verwenden der SharePoint-Benutzerprofil-API zum Erkennen des Profilspeicherorts

Sie können die SharePoint-Benutzerprofil-API über REST oder CSOM aufrufen, um die persönlichen Website-URL für ein bestimmtes Konto abzurufen. 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. Das folgende Beispiel zeigt den REST-Aufruf.

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.

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.

Weitere Informationen finden Sie im Beispiel MultiGeo.UserProfileUpdates.

Verwenden von Microsoft Graph zum Erkennen der persönlichen Website-URL des Benutzers

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:

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.

Hinweis

Wenn der Benutzer keine persönliche Website hat, funktioniert dieser Ansatz nicht. Verwenden Sie stattdessen die SharePoint-Benutzerprofil-API.

Weitere Informationen finden Sie im Beispiel MultiGeo.UserProfileUpdates.

Aktualisieren von Benutzerprofileigenschaften

Massenaktualisierungen an Benutzerprofileigenschaften sind ein gängiges Szenario für Enterprise-Kunden. Der zu verwendende Prozess basiert auf dem Typ der Benutzerprofileigenschaft, die Sie aktualisieren möchten.

Aktualisieren der Standardeigenschaften des Benutzerprofils

Einige Benutzerprofileigenschaften sind standardmäßig verfügbar, z. B. Department, AboutMe und PreferredDataLocation. Es wird empfohlen, dass Sie die Microsoft Graph-API verwenden, um diese Eigenschaften zu aktualisieren, da Microsoft Graph Geo-fähig ist.

Das folgende Beispiel zeigt, wie die AboutMe-Eigenschaft für den Benutzer bert@contoso.onmicrosoft.comaktualisiert wird.

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

Weitere Informationen finden Sie im Beispiel MultiGeo.UserProfileUpdates.

Aktualisieren der PreferredDataLocation-Eigenschaft

Der bevorzugte Datenspeicherort des Benutzers (preferredDataLocation-Eigenschaft) gibt den bevorzugten geografischen Standort für den Benutzer an. Dies wirkt sich auf Folgendes aus:

  • Den geografischen Standort, an dem die persönliche Website des Benutzers bereitgestellt wird.
  • Den geografischen Standort, an dem die Gruppenwebsites des Benutzers erstellt werden.

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.

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.

Hinzufügen von benutzerdefinierten Benutzerprofileigenschaften in SharePoint

Sie können unternehmensspezifische Benutzerprofileigenschaften zu Benutzerprofilen in SharePoint hinzufügen. Für Multi-Geo-Mandanten in SharePoint gelten die folgenden Überlegungen:

  • Benutzerdefinierte Benutzerprofileigenschaften werden auf der Ebene des geografischen Standorts erstellt. Wenn Sie eine Eigenschaft im geografischen Standort „Europa“ erstellen, ist diese Eigenschaft nicht an den anderen geografischen Standorten verfügbar. Als bewährte Methode erstellen Sie benutzerdefinierte Benutzerprofileigenschaften an allen geografischen Standorten. Dadurch wird das Risiko minimiert, dass Daten verloren gehen, wenn sich ein Benutzer über geografische Standorte hinweg bewegt.
  • Sie müssen benutzerdefinierte Benutzerprofileigenschaften auf der Ebene des geografischen Standorts lesen und aktualisieren. 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.

Hinweis

Damit eine benutzerdefinierte Profileigenschaft für einen Benutzer in den Suchergebnissen für Personen angezeigt wird, muss die Eigenschaft erstellt und mindestens am Profilspeicherort des Benutzers festgelegt werden. Für einen Benutzer mit einem Profil, das sich in NAM befindet, muss die benutzerdefinierte Eigenschaft beispielsweise mindestens im NAM-Geo festgelegt werden, damit sie in den Suchergebnissen der Personen angezeigt wird. für einen Benutzer mit einem Profil in EUR müsste die benutzerdefinierte Eigenschaft in mindestens EUR festgelegt werden.

// 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.

Verwenden der API für Massenaktualisierung von Benutzerprofilen

Sie können die API für Massenaktualisierung von Benutzerprofilen verwenden, um Massenaktualisierungen an Benutzerprofileigenschaften in einem Multi-Geo-Mandanten vorzunehmen. Beachten Sie Folgendes:

  • Diese API funktioniert auf der Ebene des geografischen Standorts und ist nicht Multi-Geo-fähig. Wenn Sie die API beispielsweise am geografischen Standort „Europa“ verwenden, werden nur Konten in Europa aktualisiert.
  • Wenn Sie eine Importdatei mit Konten an unterschiedlichen geografischen Standorten angeben, aktualisiert die API nur die Eigenschaften der Benutzer am jeweiligen geografischen Standort.

Siehe auch