3

I need to migrate from a SP2013 on Office365 to SP2013 on premises. Major problem I foresee is how to migrate from FBA users on Office365 to AD on premises.

Questions are:

  1. What would be the major steps of this migration? (I need to plan the duration)
  2. As the site already exists and is full of data, we need to point the records already created by a FBA-user to his AD user. Is there an easy way to do that?
  3. Any other tips or warnings?
2

I think you can get the databases from the O365 team and attach them to Sharepoint on premises but it will cause a lot of problems.

I think, that the best solution in your situation is to migrate using 3rd party tools.

For example ShareGate, Metalogix, Dell software.

Some reference:

http://community.office365.com/en-us/f/154/t/59477.aspx http://blog.hametbenoit.info/Lists/Posts/Post.aspx?ID=369

  • 1
    Thanks, I will give Sharegate a try and share the results with the community. We also need to migrate from a SP2010 to a SP2013 on O365... regards, – Alex Jun 5 '14 at 21:13
1

You can easily achieve the SP user migration with a modified version of the following script:

$snapin = Get-PSSnapin | Where-Object {$_.Name -eq 'Microsoft.SharePoint.Powershell'}

 if ($snapin -eq $null) {
   Write-Host "Loading SharePoint Powershell Snap-in"
   Add-PSSnapin "Microsoft.SharePoint.Powershell"
 }

#Change the URL to your existing site collection, old provider name
$url ="http://extranet.company.com"
$oldprovidername = "FbaMembershipProvider"
$oldrolename = "FbaRoleManager"
$newprovidername = "ext"

# get all users in the site, this includes iwindows users
$users = get-spuser -web $url -Limit ALL

foreach($useriteration in $users)
{
     $a=@()
     $userlogin = $useriteration.UserLogin
     Write-Host "Processing $userlogin"
    # Only care about users who start with "i:0#.f|" 
    if( $userlogin.ToLower().StartsWith("i:0#.f|$oldprovidername".ToLower()))
    {
          # get the user login name
        $a = $userlogin.split("|")
        $username = $a[2] 

        # perform the actual migration by getting the user and Move the user 
        $user = Get-SPUser -web "$url" -Identity $userlogin
        Move-SPUser -IgnoreSID -Confirm:$false -Identity $user -NewAlias "i:0#.f|$newprovidername|$username"

        # Log
        Write-Host "converted user i:0#.f|$oldprovidername|$username to i:0#.f|$newprovidername|$username"
    } 

    if( $userlogin.ToLower().StartsWith("c:0-.f|$oldrolename".ToLower()))
    {
          # get the user login name
        $a = $userlogin.split("|")
        $username = $a[2] 

        # perform the actual migration by getting the user and Move the user 
        $user = Get-SPUser -web "$url" -Identity $userlogin
        Move-SPUser -IgnoreSID -Confirm:$false -Identity $user -NewAlias "c:0-.f|extg|$username"

        # Log
        Write-Host "converted group c:0-.f|$oldrolename|$username to c:0-.f|extg|$username"
    }    

}

Just set $oldprovidername to "membership"

and instead of "i:0#.f|$newprovidername|$username", use "i:0#.w|domain\$username"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.