User Profile Information not updated on site collection’s people and group
Scenario : User name paulpa has a change in the Title From “Support Engineer” to “Support Engineer 2”
If we Go Active directory Users and computer and select the user as paulpa
Click on Organisation tab and if we view the Title section we see
In the Profile details it has an updated Title as “Support Engineer 2” as below
If we logon using the credentials of Paulpa and then go to My settings as below
You will see the details of the user as below ( Details stored in the UserInfo table) which is not updated as expected
https://paul-moss/_layouts/userdisp.aspx
Explanation:
“There are actually 2 user profiles – one is a WSS profile and one is a MOSS profile. The WSS profile you access from Welcome user > My Settings page. The MOSS profiles are created when users are imported into the system from AD or LDAP. They are access from People Search or from a link off of your MySite.
The reason there are 2 is that you can install WSS without MOSS and they wanted a basic user profile. If you installed WSS without MOSS, you would see the profile (again, accessed through Welcome user > My Settings page) with about 3 properties.
If you install MOSS, do an import, and go to the WSS profile, you’ll see a bunch of properties added that MOSS adds. We now deprecate the WSS profile. If you want to add property values to your profile, you need to go to your MOSS profile from your MySite (MySite > Details). You’ll be on the editprofile.aspx page. Add your properties. We then sync your properties to the WSS user list. You will see the values show up on the WSS profile after the sync happens.”
So the question is how to force the replication?
Well, two MOSS Timer jobs per Web Application apparently control the replication. If you take a look at the Timer Job definitions (Central Administration -> Operations -> Timer Job definitions), you’ll find jobs called Profile Synchronization and Quick Profile Synchronization. These jobs should sync the changes to the WSS profiles. Unfortunately simply wait for the jobs to run aren’t good enough. However, a server reboot will make the synchronization happen. It is a bit drastic to reboot the server simply just to force MOSS/WSS to update a property update!
RESOLUTION
Method 1:
Use stsadm -o sync to force the property sync:
•-o -synctiming changes the Profile Sync job
•-o -sweeptiming changes the Quick Profile Sync job
I have gotten the best results by changing the schedule for the Profile Sync job to run every couple of minutes (stsadm -o sync -synctiming m:2). This may not be appropriate in a production environment with a large user population
Start a full Profile import and Run the below commands
1. Run the following commands to Sync the jobs
STSADM -o Sync -synctiming M:5
STSADM -o sync -sweeptiming M:5
By default its set to
STSADM -o Sync -synctiming M:60
STSADM -o sync -sweeptiming M:5
As stated by a few people in the comments, the trick with changing the synctiming and sweeptiming settings does not always work. I had the same issue at a customer site recently where not matter what I did, the profiles wouldn’t sync. I event tried to restart the Timer Job Service and the entire server farm, as I seen it work in other situations. Unfortunately, it didn’t work either.
However, tried using the stsadm -o sync -listolddatabases <n> and stsadm -o sync -deleteolddatabases <n> commands.
The listolddatabases <n>option will list the databases that have not been successfully synchronized the last <n> days, and the deleteolddatabases <n>option will delete the synchronization information from the databases that are not successfully synchronized the last <n> days.
Have no fear, using the deleteolddatabases option will not delete the content databases.
After having deleted the old sync information I forced the timer jobs to run as described above, and the synchronization completed successfully.
If it still it does not work use method 2
Method 2:
We can use a tool called USERPROFILESYNC which can be downloaded from
https://userprofilesync.codeplex.com/
UserProfileSync will take user data from the Shared Services Administration User Profile and Properties and import it into a User Information List on a SharePoint site.
Syntax:
UserProfileSync -url <URL> [-r <Name>] | [-ssp <URL> [-d] [-c]]
-url <URL> The SharePoint site containing the User Information List to
update.
-ssp <URL> The SharePoint Services site containing the user profiles to
import.
-r <Name> Remove the column with display name <Name>. Use with caution!
Column names are case-sensitive.
-d Dry run. Display changes which would be made but make no
modifications.
-c Do not create new columns in the User Information List.
Maps user information from a SharePoint Services User Profile list to a
SharePoint site User Information List, adding columns and data.
Note : Use the Tool with caution! Its not supported by Microsoft.
USAGE:
C:\Documents and Settings\Administrator.SOCCER>C:\USERPROFILESYNC\UserProfileSync.exe -url https://paul-moss -ssp https://paul-moss:22667/ssp/admin
Output
Opening User Information List on "https://paul-moss"
Opening SharePoint Services on "https://paul-moss:22667/ssp/admin"
User: murthygs
User: paulpa
Updating "Title", old: "Support Engineer ", new: "Support Engineer 2"
User: pavan
User: Joyce line
User: Administrator
After the command is completed we will be able to see the difference as below
Hope this helps!!!
Comments
Anonymous
January 01, 2003
Excellent post. Thank you.
To quote a previous comment...
"KP 27 Feb 2012 9:51 AM
Delete user from the site collection then add user back again."
This is eventually what worked for me as well. However, the user was not listed in all people or in the User Info list. I had to first add my user to the site collection, Yes, his info was incorrect because the site collection holds onto that old info.
Now I can delete him.... he logs in to test this site and the old/incorrect data is gone with the deletion. He now shows up with the update AD info.Anonymous
January 01, 2003
On our site, the user login is initials followed by a department number. Over a period of time, users change names and departments at times. The site admins for our MOSS SP 2007 farm do not take any specific action when this takes place at this time. When the Active Directory admins change a person's entry so that it reflects their new login, that works in many places in MOSS SP 2007. However, there are times when the farm returns older logins for a particular user. We haven't had any reports of older names being returned - just the older logins. In some of the cases for which I have investigated, if I add the user to the site in question, the old login information seems to be replaced with the new information. However, I don't know of an easy way to get a list of all the out of date entries across the various site collections. Is anyone naware of any tools or commands that might provide a list of this type? Thank you.Anonymous
June 24, 2010
The comment has been removedAnonymous
November 04, 2010
The comment has been removedAnonymous
December 09, 2010
Steve and Matt, how many SSP do you have in the farm?Anonymous
August 18, 2011
The comment has been removedAnonymous
October 04, 2011
None of the suggestions seems to work in our environment including Matt's suggestion. CodePlex solution has a bug (value does not fall within the expected range) :-( Any other suggestions anyone??Anonymous
February 27, 2012
Delete user from the site collection then add user back again.Anonymous
January 29, 2013
The comment has been removedAnonymous
March 03, 2014
To Matt 24 Jun 2010 10:01 PM:
Thanks, this solved my problem. I'd been tearing my hair out on this one!Anonymous
April 10, 2014
I do not want to add a person I want that name unavailable from the people picker after they have been completely removed (permissions not presence on lists) from SharePoint and even deleted in AD! they are still in this list!
Any answers to that one? I have tried the PowerShell sync with no results.Anonymous
November 06, 2014
The comment has been removed