In a previous article I wrote about our migration from SharePoint 2007 to SharePoint 2010. In order to get Search working in a cross-domain environment, Claims Based Authentication is the way to go. While creating a CBA Web Application is not much of a challenge, it does have some implications on your migration path.
Following the Technet documentation we were able to migrate our sites, using SQL backups en Mount-SPContentDatabase. This results in a mounted Content Database that can already be accessed. But, it seems there is another step to take which as of yet is not mentioned in every Technet article. When moving from Classic Authentication to Claims Based Authentication, we also have to migrate our user info. Makes sense, but this was only mentioned in context with Forms Based Authentication, which is why I never read it.
So, when migrating from Classic Authentication to Claims Based Authentication, here are the steps:
1) Restore your SQL databases to your SQL server
2) Make sure the farm account has DBO permissions on these databases
3) Create your CBA Web Application in Central Admin or PowerShell
4) Run Test-SPContentDatabase and fix any possible errors
5) Run Mount-SPContentDatabase
*) If you are in a cross-domain environment, run the stsadm -o setProperty -pn PeoplePicker-SearchADforest command (see details)
6) Migrate users through PowerShell:
$WebApp = Get-SPWebApplication https://mywebapp
$WebApp.MigrateUsers("True")
That's all! Remember that, before step 1, you need to run your checks on the SharePoint 2007 environment. SP2 for MOSS added the stsadm -o PreUpgradeCheck command, which checks for any possible issues you might encounter when migrating to SharePoint 2010. This is a crucial step to your migration!
I hope this helps in better migrations :)
Hi Martijn,
ReplyDeletegreat info. I only did a quick test and i'm not sure everyhing was right the first time. MigrateUser sound very user centric. Are also the AD security groups (used for security inside of sharepoint) migrated also?
Ciao Marco
Hi Marco,
ReplyDeleteI'm 99% sure, because I'm using a migrated environment where my user account is not directly a member and only through an AD group (from a trusted domain). I'll check that to be sure and let you know...
Best regards
Martijn