I am in the process of moving team sites with document libraries from MOSS 2007 - to newly created SharePoint 2013 team sites - based upon trial/error my 1st site which was HR did not move over so smoothly because I did not check the permissions before hand and I created a record library and nearly all the documents came over declared (it's becoming tedious to go 1-by-1 to undeclared them all). I created a PowerShell script but this did not work as excepted. Is it best practice to go with a 3rd party vendor (we are a small organization, and limited with funds).

PowerShell script:

$SPAssignment = Start-SPAssignment 
$web = Get-SPWeb <a href="your-site">http://your-site</a>; -AssignmentCollection $spAssignment 
$list = $web.lists["your-list"].items 
foreach ($item in $list) { 
$IsRecord = [Microsoft.Office.RecordsManagement.RecordsRepository.Records]::IsRecord($Item) if ($IsRecord -eq $true)
Write-Host "Undeclared $($item.Title)" [Microsoft.Office.RecordsManagement.RecordsRepository.Records]::UndeclareItemA‌​sRecord($Item) 
Stop-SPAssignment $SPAssignment
  • Have you looked into ShareGate? It's not very expensive, plus they got free 15-days trial.
    – Aveenav
    Apr 25 '16 at 20:46
  • The trial version for ShareGate was super fast but it didn't do exactly what I wanted and when I talked to the sales rep - they quoted me a higher price then what was on the website. Apr 27 '16 at 13:50

It depends upon on your environment ( i.e number of the site collection, Size of data, Complexity of sites).

As you know, there is no direct way of migration from SharePoint 2007 to 2013. The only way is to build a temporary SharePoint 2010 farm( btw 2010 also pass End of life) then Backup the content DB from 2007 and restore it 2010 after upgrade here then backup from 2010 then restore it in 2013.

I would personally go for the 3rd party to migrate when we have a version skip.

  • It will be clean migration.
  • all the orphan stuff will remain on an old farm.
  • easy to migrate.

But it cost, you can check Share-gate or Metalogix or etc

  • Thanks for your feedback...however; we have a quote from Metalogix that is a NO go for us 27K is too much - in my previous role we used Dell - but that organization also, had a license so that worked. Apr 26 '16 at 12:26
  • Try sharegate, it is cheap
    – Waqas Sarwar MVP
    Apr 26 '16 at 13:08

If it were me, I'd try to get help on the PowerShell script and get some test runs in. I wouldn't buckle into purchasing from a 3rd party just yet, when it's entirely possible to fix the PowerShell script.

In my experience the script will use sharepoint web services in 2007 to grab the file and be uploaded through the sharepoint management shell snapin. Maybe you can share your powershell script and we can diagnose what's going wrong with it.

  • Hello Mike, I downloaded ShareGate - I felt it was a waste of my time - I will post the powershell script and maybe you can guide me in the right direction - this is becoming very frustrating and I have to get this corrected. The issue with ShareGate that I ran into is that I am not the Site Collection Admin in our SharePoint 2007 environment however; I am the collection owner for SharePoint 2013 - I just want to get this done and move on to my next order of business. Apr 27 '16 at 13:52
  • $SPAssignment = Start-SPAssignment $web = Get-SPWeb <a href="your-site">http://your-site</a> -AssignmentCollection $spAssignment $list = $web.lists["your-list"].items foreach ($item in $list) { $IsRecord = [Microsoft.Office.RecordsManagement.RecordsRepository.Records]::IsRecord($Item) if ($IsRecord -eq $true){ Write-Host "Undeclared $($item.Title)" [Microsoft.Office.RecordsManagement.RecordsRepository.Records]::UndeclareItemAsRecord($Item) } } Stop-SPAssignment $SPAssignment Apr 27 '16 at 14:29
  • edit your original post to post your powershell script.
    – Mike
    Apr 27 '16 at 14:43

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.