1

I have observed on SharePoint 2010 that if you change the sAMAccountName of a user after the user has logged into a SharePoint site collection, the tp_Login field in the UserInfo table does not get updated. It still has the old user Id.

While the user can log into SharePoint under the new account, these new logins do not update the table. I have code that looks at the SPUser.LoginName and this value appears to be the tp_Login field value which is now old. The fact that this value is old causes my code to fail.

I suspect this behavior is identical in SharePoint 2007.

Is there any way to force SharePoint to recognize the new sAMAccountName? I suspect that profile synchronization might help, but I would like for my solution to work with WSS 3.0 and SharePoint 2010 Foundation.

I considered manually updating the database table, but I would like to stick with supported approaches.

2 Answers 2

3

This should solve it for you. It must be run as the sharepoint admin. In the past I have found that this doesn't work in every scenario and that occasionally the sharepoint dev team had to fix users manually.

stsadm.exe -o migrateuser -oldlogin -newlogin [-ignoresidhistory]

3
  • That looked promising, but I must be in one of the non-working scenarios :-(. The first error I got was "New user account does not have valid SID history" so I added the "-ignoresidhistory" param and then the error I get is "Value cannot be null. Parameter name: userProfileApplicationProxy". I don't have profiles imported, so maybe that is the problem (but I don't want that as a requirement). Feb 14, 2011 at 20:01
  • 1
    I stand corrected. My operation eventually worked. Not sure if it was the one with or without "-ignoresidhistory" as there appeared to be a delay (timer job, I suppose). Also, here is a good link on this: toddklindt.com/blog/Lists/Posts/Post.aspx?ID=75 Feb 14, 2011 at 20:07
  • great glad it fixed your issue.
    – pablo
    Feb 14, 2011 at 20:09
0

When I tried the following command

stsadm.exe -o migrateuser -oldlogin Domainname\Oldusername -newlogin Domainname\Newusername –ignoresidhistory

I received the same error:

"Value cannot be null. Parameter name: userProfileApplicationProxy"

However if I ignored that error and tested, it was successful.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .