0

I am having a hard time determining which features to include in the removal process. Additionally, I am struggling to determine the order in which they should be removed. Could you please help me determine these two things? I included a list of suspect features on a typical site on this web app. In the list below, # means that I suspicious that the feature in question is enterprise, ## means that I have read that it is an enterprise feature, #### means that the feature is disabled if you disable enterprise features from the GUI. Once I have determined which features need to be disabled, I will need to use a script to loop through each web and site to disable these features. The script will likely look like this:

$siteFeatures = @("feature_ID1",`
    "feature_ID2",`
    "feature_IDetc")

$webFeatures = @("feature_ID1",`
        "feature_ID2",`
        "feature_IDetc")

Get-SPWebApplication "http://sp2010" | Get-SPSite -Limit ALL |
ForEach-Object {
    $thisSiteURL = $_.Url
    foreach($web in $_.AllWebs) {
        $thisWebURL = $_.Url
        foreach ($webFeature in $webFeatures) {
            if (Get-SPFeature -Web  $thisWebURL | Where {$_.ID -eq $webFeature})
                {
                    Disable-SPFeature $webFeature -Url $_.Url -WhatIf
                Write-Host "Feature " + $webFeature + " has been deactivated at :" $thisWebURL
                }
        }
    }
    foreach ($siteFeature in $siteFeatures) {
        if (Get-SPFeature -Site  $thisWebURL | Where {$_.ID -eq $siteFeature})
            {
                Disable-SPFeature $siteFeature -Url $_.Url -WhatIf
            Write-Host "Feature " + $siteFeature + " has been deactivated at :" $thisSiteURL
            }
    }
}

Script stolen from here and here

Features:

      DisplayName                    Id                                       Scope  
      -----------                    --                                       -----  
##    DocumentRoutingResources       0c8a9a47-22a9-4798-82f1-00e62a96006e     Site      
##    WebPartAdderGroups             2ed1c45e-a73b-4779-ae81-1524e4de467a     Site   
####  PremiumSite                    8581a8a7-cf16-4770-ac54-260265ddb0b2     Site     
##    FastEndUserHelpCollection      6e8f2b8d-d765-4e69-84ea-5702574c11d6     Site     
##    VisioWebAccess                 9fec40ea-a949-407d-be09-6cba26470a0c     Site     
####  BizAppsSiteTemplates           4248e21f-a816-4c88-8cab-79d82201da7b     Site     
##    PortalLayouts                  5f3b0127-2f1d-4cfd-8dd2-85ad1fb00bfc     Site      
##    ExcelServerWebPart             4c42ab64-55af-4c7c-986a-ac216a6e0c0e     Site   
####  BizAppsCTypes                  43f41342-1a37-4372-8ca0-b44d881e4434     Site   
##    LocationBasedPolicy            063c26fa-3ccc-4180-8a84-b6f98e991df3     Site   
##    RecordResources                5bccb9a4-b903-4fd1-8620-b795fa33c9ba     Site     
##    IPFSSiteFeatures               c88c4ff1-dbf5-4649-ad9f-c6c426ebcbf5     Site   
####  BizAppsFields                  5a979115-6b71-45a5-9881-cdc872051a69     Site   
##    MobileExcelWebAccess           e995e28b-9ba8-4668-9933-cf5c146d7a9f     Site   
####  MossChart                      875d1044-c0cf-4244-8865-d2a0039c2a49     Site   
##    ExcelServerSite                3cb475e7-4e87-45eb-a1f3-db96ad7cf313     Site   
##    AccSrvSolutionGallery          744b5fd3-3b09-4da6-9bd1-de18315b045d     Site   
##    SearchExtensions               5eac763d-fbf5-4d6f-a76b-eded7dd7b0a5     Site   



      DisplayName                    Id                                       Scope  
      -----------                    --                                       -----     
####  BizAppsListTemplates           065c78be-5231-477e-a972-14177cc5b3c7     Web     
####  PremiumWeb                     0806d127-06e6-447a-980e-2e90b03101b8     Web     
####  ReportListTemplate             2510d73f-7109-4ccc-8a1c-314894deeb3a     Web       
##    RelatedLinksScopeSettingsLink  e8734bb6-be8e-48a1-b036-5a40ff0b8a81     Web      
##    SlideLibrary                   0be49fe9-9bc9-409d-abf9-702753bd878d     Web          
##    DataConnectionLibrary          00bfea71-dbd7-4f72-b8cb-da7ac0440130     Web        
#     IPFSWebFeatures                a0e5a010-1329-49d4-9e09-f280cdbed37d     Web
1

2 Answers 2

2

I would strongly advise against disabling manually features individually for 2 reasons:

  1. You might never get them all - and even so - you might not get the right order (for this you really need to go through each feature, check dependencies in the Elements.xml and map that out - messy business!!!)
  2. Even if you get them all and get them in proper order - you risk breaking functionality! It is enough for some user to use functionality which you are about to disable and content will be, SOMETIMES even iremediably lost!

Still, if you are going on that path a list of all 2010 is available at http://snahta.blogspot.ch/2010/06/sp2010-feature-ids.html or http://blogs.msdn.com/b/mcsnoiwb/archive/2010/01/07/features-and-their-guid-s-in-sp2010.aspx

Some of your list are:

  • IPFSWebFeatures - InfoPath Forms Services (Hidden) - for sure Enteprise
  • DataSourceLibrary (Hidden) - used in Team Sites - sounds like you'll breaking something ()
  • Reporting - i believe it comes with as part of the Audit Reporting Feature (e.g. once i've been force to re-enable it to be able to check WOrkflow reports - also very basic - so i would avoid removing it!)
1
  • Moving from Enterprise to Standard is a pain... At least this is dev. Thanks for your reply. Commented Apr 9, 2013 at 18:07
1

I added all the features in my list to my script and ran it mostly as-is (obviously swapping -whatif with -confirm:$false). It seems to have have worked.

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.