If you’ve run the new PowerShell command test-SPContentDB as part of upgrade testing from SharePoint 2007 to 2010, you’ve probably seen something like this:
Category : MissingFeature Error : True UpgradeBlocking : False Message : Database [_WSS_Content] has reference(s) to a missing fea ture: Id = [43cf51d0-d93e-46d7-9d67-07549c1f89e6]. Remedy : The feature with Id 43cf51d0-d93e-46d7-9d67-07549c1f89e6 is r eferenced in the database [_WSS_Content], but is not inst alled on the current farm. The missing feature may cause upgr ade to fail. Please install any solution which contains the f eature and restart upgrade if necessary.
While it’s good to know there are 8 features missing in my case today, it would be more helpful to identify them in some way other than a long Id number. While I could go through all the feature.xml files with Powershell, I’ve found get-spfeature works well if you have a box with the correct features installed.
As I only had 8 missing features, I copied each id from test-spcontentdb into an excel spreadsheet and then used the following command:
get-spfeature -id 43cf51d0-d93e-46d7-9d67-07549c1f89e6 | Format-table DisplayName
I ran that on my dev box one by one on the GUIDs to return the full names of the feautres that were missing.
I also ended up using PowerShell, because some of the features weren’t installed on the dev machine but the feature.xml files were in the source directories:
get-childitem -filter *.xml . -recurse | Select-String -pattern "aebe3546-9675-458d-b818-a3a412ad1546"|format-list filename, path
A side note on enumsolutions, XML and Excel
There is no stsadm command for enumfeatures and enumsolutions outputs the solution ids not the feaure ids. However, if you were looking for a good way to list the solution ids and names, one way is to open the xml results of enumsolutions in Excel as follows.
If you send the output from enumsolutions to a file like this:
stsadm –o enumsolutions > enumsolutionsWWW.xml
And then do a file | Open from Excel, you’ll see a prompt like this:
I’ve found the first option works best and generates a nice spreadsheet like this:
So there you go. If you find yourself looking to find the Name and WSP of a Feature ID. Enumsolutions XML output looks just fine in Excel 2010.
Update 3/24: This post had multiple revisions. At first, I mistakenly thought enumsolutions matched the missing feature ID. Then I had get-spfeature misspelled in a couple places and corrected it this morning.