0

I have a particular feature which has been orphaned and I no longer have access to re-install it. However it is locked in to three lists that I have in my site collection. I can find it in one of the lists because the list errors and notes the feature in the ULS logs. The other two lists i cannot find, I was hoping there was a way to search the site collection using powershell to see where this particular feature was being used...and i'm not just talking about which web is using it...i need to know what list/library in that web. If it is easier i know which webs contain the feature and could start from there with powershell, i just need to know what code to use to search the lists/libraries for this particular feature GUID.

I'm trying to rid my environment of these orphaned features so that i can successfully patch my farm to SP1, until I remove these it will not let me fully update.

Any thoughts?

2 Answers 2

1

Phil Childs has a some PowerShell scripts that can be helpful (some tweaking may be required in your case) -

There are two other tools from CodePlex that can help you manage the installed Features

1
  • Thank you for these resources, I have actually been looking over the first link you provided from Phil, looks promising. The tools you provided are what i've been using so far to figure out where it is located. Much appreciated!
    – Jacob A
    Commented May 22, 2012 at 22:10
1

Features do not have a possible scope of 'List' so the specifics of how each feature affects lists is wholly dependent on what artifacts the feature itself adds. As such, there is no way to look for lists affected by a particular feature.

Instead, you will need to know what it is specifically that is blocking the upgrade. If it is an outdated eventreceiver, then you can use SharePoint Manager to remove it (VERY CAREFULLY and backup the data first). If it is outdated Content Types then those can be removed by hand.

If really need to get more detailed, you could extract the feature's WSP, rename it to CAB then open it and see exactly what it is doing. The PowerShell below will copy all WSPs in a farm to a local folder.

(PowerShell)

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$solutions = [Microsoft.SharePoint.Administration.SPFarm]::Local.Solutions;
foreach ($solution in $solutions) {
   $solution.SolutionFile.SaveAs("c:\wsp\" + $solution.Name);
}
1
  • Thank you this was helpful to know and In my research I have been realizing the same truth so it is good to find some extra confirmation on it and ideas.
    – Jacob A
    Commented May 22, 2012 at 22:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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