I need to activate specific feature to all site collection which is inside the particular web application using powershell script?

4 Answers 4


Get-SPWebApplication xxx | Get-SPSite -Limit ALL | % {Enable-SPFeature "xxx" -Url $_.Url}

  • Get-SPWebApplication "Web App URL"| Get-SPSite -Limit ALL | % {Enable-SPFeature "Feature GUID" -Url $_.Url} Is my parameter correct?.I am missing anything? Apr 24, 2012 at 14:01
  • Seems right. Usually I'd use Feature foldername but Guid is OK Apr 24, 2012 at 14:29
  • 1
    small tip: use a GUID instead 'name' - it's more precise and less prone to error if there are similar feature names.. Apr 24, 2012 at 17:59
  • Name is a lot easier to read and as it ALWAYS are something like Company.Product.Solution[.SubFeature] there will never be a collision. GUID may be a bit faster, but activating/deactivating features using PowerShell is not where you get performance problems Apr 24, 2012 at 18:41

Try this,

$site = Get-SPSite http://yourserver

$site | Get-SPWeb -limit all | ForEach-Object {Enable-SPFeature -Identity "FeatureName" -Url $_.Url}



Per is spot on with the command, however I was receiving an error "The Feature is not a Farm Level Feature..."

Found the answer at http://rajeshch999.blogspot.com/2012/07/powerdhell-feature-is-not-farm-level.html. The feature name was different than the name of the wsp that I installed, looking up the name in the 14 hive made it work for me.

Also, I put it into a short script for ready access if I needed it again.

# Enable-SPFeatureOnWebApplication.ps1
# script to turn on a feature on all site collections on a web app
# look-up feature name in 14 hive if not working 

$waURL = "https://your.url"
$featureName = "your.feature.name"

Get-SPWebApplication $waURL | Get-SPSite -Limit ALL | % {Enable-SPFeature $featureName -Url $_.Url}

other method: http://www.stefanopaterno.com/post/2011/11/15/Pillole-di-SharePoint-Management-Shell.aspx

  • -1 for linking your own (non-English) blog article that contains only one stsadm command that doesn't answer this question (PowerShell command is needed) Apr 24, 2012 at 13:57
  • Thanks for the -1 is right, I was racing and I was hoping it would be useful. Apr 24, 2012 at 14:56

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.