Current Position:Home > SharePoint Online - I cannot move my custom property any higher than PicturePlaceholderState

SharePoint Online - I cannot move my custom property any higher than PicturePlaceholderState

Update:11-30Source: network consolidation
Advertisement
I cannot move my custom property (User Profile) any higher than PicturePlaceholderState - reordering just doesn´t work. Any ideas, how I can achieve this?
thx
Haider

The Best Answer

Advertisement
You are not able to move the property order any higher because there are duplicate display order values for your properties. The display order of the property that you are trying to move currently has the same display order as property "SPS-PicturePlaceholderState".
You can use the following Powershell script that will allow you to see the current display orders of your properties as well as modify the display order of any of your properties.
function ListUserProfilePropertyDisplayOrder($siteUrl){
$site = Get-SPSite $siteUrl
$context = Get-SPServiceContext $site
$upcManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileConfigManager($context)
#if you have other profile sub-types than the default profile sub-type name ("User"), you will need to change the following line and use the name of the desired profile sub-type
$defaultUserProfileSubTypeName = [Microsoft.Office.Server.UserProfiles.ProfileSubtypeManager]::GetDefaultProfileName("User")
$upcManager.ProfilePropertyManager.GetProfileSubtypeProperties($defaultUserProfileSubTypeName) | Format-Table -Property Name,DisplayName,DisplayOrder
#Example Usage
ListUserProfilePropertyDisplayOrder http://your.site.url
function ModifyUserProfilePropertyDisplayOrder($siteUrl, $propertyName, $displayOrder){
$site = Get-SPSite $siteUrl
$context = Get-SPServiceContext $site
$upcManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileConfigManager($context)
#if you have other profile sub-types than the default profile sub-type name ("User"), you will need to change the following line and use the name of the desired profile sub-type
$defaultUserProfileSubTypeName = [Microsoft.Office.Server.UserProfiles.ProfileSubtypeManager]::GetDefaultProfileName("User")
$profileSubtypePropManager = $upcManager.ProfilePropertyManager.GetProfileSubtypeProperties($defaultUserProfileSubTypeName)
$profileSubtypePropManager.SetDisplayOrderByPropertyName($propertyName, $displayOrder)
$profileSubtypePropManager.CommitDisplayOrder()
#Example Usage
ModifyUserProfilePropertyDisplayOrder http://your.site.url TargetPropertyName DesiredDisplayOrder