(This articles has already been posted in www.msd2d.com. Now I post it again in my own blog.)
For administrators who wants to add new users into a SharePoint site, SharePoint has a great interface that lets you read user details from the ActiveDirectory / domain information database. Unfortunately, changing user information in the ActiveDirectory / domain won’t automatically reflect in the SharePoint user information databases. We cannot overturn a user’s registration and re-register to get the changes saved because SharePoint will prefer old information rather then reading new information from the ActiveDirectory / Domain.
Let’s See the Problem
As an example, an administrator adds a new user JohnDoe to the SharePoint site, and when you click “next,” SharePoint will contact ActiveDirectory to check if the user exists. If the user exists then it will retrieve its information and fill in Email and Display Name information.
After a successful addition, you can have full information of the new user as well as context menu to send email, add to address book etc.
At this point, you won’t have any problems and everything appears to work properly. Now, the user “None” is coming to you , and he doesn’t like his “None” nick. He wants to make it “Anonymous” instead.
As an Administrator, you will go through ActiveDirectory Users management console and change “None” to “Anonymous”.
But When You Look at SharePoint, it does not change….
SharePoint has a separate table to manage user information (the “UserInfo” table in the SharePoint site information.) That’s why, updating in ActiveDirectory user’s information won’t be reflected in SharePoint.
Un-register and re-registering user to SharePoint
Un-registering a user from SharePoint is a good idea, but SharePoint is stepping ahead. SharePoint will not delete user information but will only inactivate it ! Kind of insane? No, because SharePoint will make sure that every single object in its database has the correct parent that is the Users!
And believe me, un-register and re-registering “JohnDoe” will only cycle back to “JohnDoe”. This is because, SharePoint will refer to it’s databases rather than external database. It will look for information in its databases first, before searching other media.
You also don’t have any interface to edit userInformation.
SQL Will Fortunately help Us !
As stated above, SharePoint has its own UserInfo table for managing point to user information. The UserInfo table has fields like “tp_login”, “tp_Title”, “tp_Email” etc. So, don’t bother with SharePoint UI. Get your SQL Analyzer and start to edit directly into this table. The “UserInfo” table exists in “site database”.
Then, the SQL syntax:
update userinfo set tp_title=’Anonymous’ where tp_title=’None’
will sufficiently resolve this problem. And you will see the result promptly.
And good luck!