I recently performed a migration of a site collection from SharePoint 2007 to SharePoint 2010 using the DocAve migration tool. Afterwards, whenever I tried to access the Site Collection Features or Site Features screen on the 2010 site, I would get the oh-so-helpful error message sporting a correlation ID and not much else. In most cases, the next step would be to find the correlation ID in the ULS logs and troubleshoot accordingly. In this case, however, the correlation ID listed in the error didn’t show up anywhere in the logs. So, after much head-banging and silent cursing, here’s what I came up with:
I knew that the issue was most likely due to some feature that was brought over in the migration yet didn’t exist in the new environment. The trick was finding out which one and getting it out of there. Since features at the site collection level are inherited from the parent site, I ran the following Powershell command on both the parent site and my site collection:
Get-SPFeatures -Site %url% | Sort -Property Displayname > C:\Temp\%filename.txt%
Running this at each site (using the URL of the site in place of %url% and an appropriate filename in place of %filename.txt%) gave me two text files, each one listing the activated features at that level. I then compared the two lists, which allowed me to find the features that were showing up at the site collection level but not the parent level. Using another handy Powershell command, I was able to remove the offending features:
Disable-SPFeature “%displayname%” -url %url%
I did this one for each feature that didn’t belong (again, putting the display name of the feature instead of %displayname% and my site collection’s URL instead of %url%), which removes the feature from the list. Afterwards, I was able to go into Site Settings for my migrated site collection and pull up the features list normally.
I wasted about 2.5 hours on this, so hopefully this post will save someone else the time.