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
“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!
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
We can use a tool called USERPROFILESYNC which can be downloaded from
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.
UserProfileSync -url <URL> [-r <Name>] | [-ssp <URL> [-d] [-c]]
-url <URL> The SharePoint site containing the User Information List to
-ssp <URL> The SharePoint Services site containing the user profiles to
-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
-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.
C:\Documents and Settings\Administrator.SOCCER>C:\USERPROFILESYNC\UserProfileSync.exe -url https://paul-moss -ssp http://paul-moss:22667/ssp/admin
Opening User Information List on "https://paul-moss"
Opening SharePoint Services on "http://paul-moss:22667/ssp/admin"
User: paulpa Updating "Title", old: "Support Engineer ", new: "Support Engineer 2"
Updating "Title", old: "Support Engineer ", new: "Support Engineer 2"
User: Joyce line
After the command is completed we will be able to see the difference as below
Hope this helps!!!
I had this problem and it seemed nothing would fix it. I called Microsoft, mentioned all the deleteolddatabases, synctiming, ignoreisactive, etc etc etc that I ran. Here's our 2 second fix.
Add the user explicitly into a different site in the site collection again or add them back into the site again. Verify their settings update (which in our case it did) and then remove the explicit add. Since we were using groups and not explicit users to control permissions, it appears the WSS profile wouldn't update. The manual explicit add forced a recheck it seems.
That was it! Still doesn't explain the bug, but it got us there!
Giving the user explicit permissions to a site worked for us as well.
Steve and Matt, how many SSP do you have in the farm?
Hi Can anyone describe the above 'explicit add' process in more detail please? Step by step. We had a go, but it hasn't worked.
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??
Delete user from the site collection then add user back again.
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?
Ben, here is the explicit add process in more detail.
I am assuming you know the specific site collection where the user profile information is incorrect.
Enter the site collection url into your browser.
Open Site actions > site settings > people and groups (if you do not have that permission, then find a site on this site collection for which you can access the people and groups of the site)
Click on one of the groups for the site - it does not have to have any members. I recommend a group that has minimal rights, just for security sake
Click on New > Add User
Browse to find the current user name entry that you want to add, via the people picker browse button.
Uncheck the box that would send an email to the user.
Click the checkbox beside the user's name, there in the group
Click on Actions > Remove User from group
Now the user's current information has been loaded into the user info table, as far as I can tell.