Slight delay -o migrateuser

Well there is a slight delay on some of my documentation about converting from 2.0 to 3.0. I am still in the process of documenting the process for the company, once that is finished i will do a quick conversion and put what i have up here for all to see.

What i'd like to comment on is the domain\username to newdomain\username migration process which, in my case, needs to happen every time i convert another website from 2.0 to 3.0.

During our migration process of moving WSS 2.0 to WSS 3.0 websites, i ran into a problem with the old server not being configured correctly. More to the point the server's user lists were not connected to our Active Directory. It was all done localy (yes, each user added to the local machine, and then added to the WSS 2.0 site).

This was one of the driving factors behind why the company is converting over to MOSS servers.
However, this brought up a problem for me as i converted the websites. How do i maintain username permissions but make everyone use their Active Directory login names on the new server?

Stsadm -o migrateuser

Stsadm -o migrateuser to the rescue, this allows you to move an exsiting entry in your database from one domain to another in a totaly microsoft supported mannor. The usage is fairly straightforward you simply need 3 varables after -o migrateuser for it to work:
-oldlogin olddomain\username
-newlogin newdomain\username
-ignoresidhistory
If you do not specify the -ignoresidhistory parameter in this command line, the command queries Active Directory for the SID History attribute. This attribute is automatically populated by Microsoft Windows when you migrate a user to another domain.
Take this with a grain of salt, we did it in our solution simply because i did not want to deal with any possible problems from migrating the users over.

There is an API to allow you to program in a more direct-method of auditing the login names, but i went the easy way and just created a program that made a batch file for me automatically in c#. If you want a copy of the source just hit me up, i'm more than glad to provide it.

Usefull information:

In your SQL database you can find the login information in the "Sitename_ContentDB" in the UserInfo table. The login names are stored in the tp_Login column. A quick way to pull up the list is to simply do:
SELECT tp_Login
FROM UserInfo

Comments

Popular posts from this blog

CI Build broke after nugit update

Sharepoint 2007 - Access Denied when you try to edit

Project 2010 and Project Pro 2007