Zum Inhalt springen
No results
  • Datenschutzerklärung
  • Impressum
  • Über mich
Franks Blog
Franks Blog

Azure, Microsoft 365 & SharePoint

  • Datenschutzerklärung
  • Impressum
  • Über mich
Franks Blog
Franks Blog

Azure, Microsoft 365 & SharePoint

Benutzereigenschaften Reihenfolge ändern

  • frankfrank
  • 6. Juli 2015
  • SharePoint

Wenn man die Benutzereigenschaften Reihenfolge im User Profile Service von SharePoint ändern möchte, kann es passieren, dass ab einem bestimmten Punkt die Einträge nicht mehr weiter verschoben werden können. Über die Oberfläche ist ab diesem Punkt kein weiterkommen mehr möglich.

Die Benutzereigenschaften Reihenfolge wird über eine entsprechende Nummer im Feld mit dem Namen DisplayOrder gesteuert, die jedem Eintrag zugewiesen ist. Nun kann es vorkommen, dass zwei Eigenschaften die gleiche Nummer besitzen. Und an dieser Stelle tritt das oben beschriebene Verhalten auf.

Die aktuelle Benutzereigenschaften Reihenfolge kann recht einfach über PowerShell abgefragt werden:

$SPSite = Get-SPSite -Limit 1
$Context = Get-SPServiceContext $SPSite
$ProfileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($Context)
$ProfileManager.Properties | ft Name,DisplayOrder

Sollte der Benutzer mit dem das PowerShell Script ausgeführt wird, nicht alle notwendigen Berechtigungen besitzen, kann in Zeile 3 folgender Fehler auftreten:

New-Object : Exception calling ".ctor" with "1" argument(s): "Object reference not set to an instance of an object." At line:1 char:29
+ ProfileManager = New-Object <<<< Microsoft.Office.Server.UserProfiles.UserProfileManager($Context) + CategoryInfo : InvalidOperation: (:) [New-Object], MethodInvocationException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

Diese etwas kryptische Fehlermeldung sagt allerdings nur aus, dass der Benutzer nicht die notwendigen Berechtigungen auf der User Profile Service Application besitzt. Entweder führt man das Script unter einem Benutzer aus der diese Berechtigungen besitzt, oder man muss den aktuellen Benutzer noch entsprechend als Administrator (Vollzugriff) für die User Profile Service Application eintragen. Allerdings muss man aufpassen, dass die Berechtigungen an zwei Stellen gesetzt werden:

Benutzereigenschaften Reihenfolge
Nachdem das Script erfolgreich ausgeführt wurde, kann ein exemplarisches Ergebnis (in Microsoft Excel aufbereitet) so aussehen:

Benutzereigenschaften Reihenfolge

Die problematische Stelle ist im oberen Bild farbig markiert. Sind zwei Zahlen im Feld DisplayOrder gleich, kann in diesem Beispiel der Eintrag WorkEmail nicht weiter nach unten bzw. der Eintrag CellPhone nicht weiter nach oben verschoben werden.

Nachdem wir nun die Namen der Benutzereigenschaften und die zugehörige Reihenfolge haben, können wir diese auch wieder über die PowerShell ändern:

$profileManager.Properties.SetDisplayOrderByPropertyName(“WorkEmail”,5414)
$profileManager.Properties.CommitDisplayOrder()

Bei der Auswahl der DisplayOrder sollte man beachten, dass diese Nummer nicht schon bereits vergeben ist. Sonst hat man den ganzen Spaß wieder, dass man über die UI die Reihenfolge nicht mehr ändern kann. Auch konnte ich in der Praxis teilweise beobachten, dass man den Befehl CommitDisplayOrder mehrmals ausführen musste, damit die DisplayOrder richtig gesetzt wurde.

Also wundert euch nicht wenn die Sortierung der Benutzereigenschaften über die UI plötzlich nicht mehr funktioniert. Das Verhalten ist nachvollziehbar und kann wie meistens über die PowerShell gelöst werden.

Die Benutzung der PowerShell-Skripte erfolgt natürlich wie immer auf eigene Gefahr.

Happy SharePointing…

My blog in English

Digital Workplace

Folge mir

  • wordpress
  • twitter
  • linkedin

Buy Me a Coffee

Wenn Dir mein Blog gefallen hat, kannst Du die Seite gerne unterstützen.

Werbung gibt es auf meinem Blog nicht und das wird auch so bleiben. Dadurch kannst Du dich an den laufenden Kosten beteiligen:

Buy me a coffeeBuy me a coffee

Microsoft Certified

Seiten

  • Datenschutzerklärung
  • Impressum
  • Über mich

Copyright © 2023 - WordPress Theme by CreativeThemes