Lately, I had an issue with a vendor product. while installing, it was complaining for premium site feature not installed, so I let myself a deep dive into features, using powershell – here are some of findings
Get-SPFeature: Retrieves the SharePoint features based on a given scope.
There are 4 levels of scope; retrieving the enabled Features at each level behaves differently at each scope
- Farm 2. WebApplication 3. Site (Site Collection) 4. Web (Site)
Retrieving the enabled Features at each level behaves differently at each scope
To view all the installed Feature definitions
Get-SPFeature (If scope is not provided, then all installed Features are returned)
To view all features for a Farm:
Get-SPFeature -farm (Retrieves all the enabled Feature in the farm)
To view all features for a Web Application:
Get-SPFeature -webapplication http://server
To view all features for a Site:
Get-SPFeature -site http://server/sites/test
To view all features for a Web:
Get-SPFeature -web (Retrieves all the enabled Features in the Web)
To view all the features on the Farm grouped by scope in a table use:
Get-SPFeature | Sort -Property DisplayName, Scope | FT -GroupBy Scope DisplayName (using select displayname, scope will remove the id column)
Enabling and Disabling Features
Enable-SPFeature -Identity "PremiumSite" -URL http://servername
Disable-SPFeature -Identity "PremiumSite " -URL http://servername
Installing and Uninstalling Features
Install-SPFeature -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\MyFeature\feature.xml"
UnInstall-SPFeature -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\MyFeature\feature.xml"