0

Been setting up a new list with a Person or Group column, using the Name (with picture and details). I noticed today that the "details" are actually old titles.

Is there a way to update this information?

The titles are correct in Mysites and the User Profile Service.

2 Answers 2

2

This is typically caused by a timer job that fails to update the synchronization information between the User Profile Service Application and each SharePoint Site (User Information List).

Traditionally, you would use stsadm -o sync -listolddatabases 0 to see what databases were 'out of date' and stsadm -o sync -deleteolddatabases 0 to reset the synchronization, at which point the User Profile Service Application to SharePoint Site Full Sync timer job would correct this issue.

However, the other day I published some PowerShell to do the same thing, which is available at https://thesharepointfarm.com/2016/04/replacing-stsadm-o-sync-powershell/. The full text of the module is:

Add-PSSnapin Microsoft.SharePoint.PowerShell -EA 0

function Get-SPUPSAProxy
{
    $proxy = Get-SPServiceApplicationProxy | ?{$_.TypeName -match 'User Profile Service Application Proxy'} | Select -First 1

    if ($proxy -eq $null)
    {
        Write-Host -ForegroundColor Red 'No User Profile Service Application Proxy available.'
        break
    }
    else
    {
        Write-Host -ForegroundColor Yellow "Found proxy $($proxy.Name.ToString())`n"
        return $proxy
    }
}

function Get-SPDatabaseSyncInformation
{
   param
   (
     [int]
     [Parameter(Mandatory=$false)]
     $Days = 0
   )

    $proxy = Get-SPUPSAProxy
    $now = (Get-Date).AddDays(-$Days)
    $i = 0

    foreach($db in Get-SPContentDatabase)
    {
        $proxyGroup = $db.WebApplication.ServiceApplicationProxyGroup

        if($proxyGroup.ContainsType($proxy.GetType()))
        {
            if ($db.LastProfileSyncTime.ToLocalTime() -lt $now)
            {
                ++$i
                Write-Host -ForegroundColor Green "`t$($db.Name.ToString()):"
                Write-Host -ForegroundColor Yellow "`t`tLast Synchronized: $($db.LastProfileSyncTime.ToLocalTime())"
            }
        }
    }
    Write-Host -ForegroundColor Green "`n$i databases exceeding profile synchronization time."
}

function Clear-SPDatabaseSyncInformation
{
    param
    (
        [int]
        [Parameter(Mandatory=$false)]
        $Days = 0
    )
    $proxy = Get-SPUPSAProxy
    $now = (Get-Date).AddDays(-$Days)
    $i = 0

    foreach($db in Get-SPContentDatabase)
    {
        $proxyGroup = $db.WebApplication.ServiceApplicationProxyGroup

        if($proxyGroup.ContainsType($proxy.GetType()))
        {
            if ($db.LastProfileSyncTime.ToLocalTime() -lt $now)
            {
                ++$i
                Write-Host -ForegroundColor Green "Clearing Sync Data for $($db.Name.ToString())"
                [Microsoft.Office.Server.UserProfiles.WSSProfileSynch]::ClearSyncDataForContentDatabase($db)
            }
        }
    }
    Write-Host -ForegroundColor Green "`nCompleted clearing synchronization information for $i databases."
}
1

This is usually related to user profiles and issues with synchronization. You can proceed with the approach proposed by Trevor, or you can take a look at the user information list.

The basics of this list are explained Here.

Talking about a scenario where User Profile Sync is not set:

This list works as a "cache" with user data that is not syncd. So, when some user logins into some sharepoint site or is referenced in some site (added to a group or referenced into a User column...)... sharepoint creates a record for that user into "User Information List". Basically it copies data from AD for that record.

So, if you look at this list, probably your users will have some attribute with those "old titles". This issue usually happens when users change e-mails or things like that.

Oh, configuring User Profile Synchronization service is also a good deal.

1
  • Thanks! I was not even aware of the User Information List. Upon finding it, that is indeed the problem. The "title" information on many users is out of date here. I'm running the sync commands now that Trevor mentioned, and hopefully that solves the problem.
    – Capurnicus
    Apr 7, 2016 at 19:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.