Try
{
$webApplicationURL = $args[0]
$featureFolderName = "Web level FeatureName"
$webApp = Get-SPWebApplication $webApplicationURL
if($webApp -ne $null)
{
foreach($siteColl in $webApp.Sites)
{
if($siteColl -ne $null)
{
foreach($subWeb in $siteColl.AllWebs)
{
if($subWeb -ne $null)
{
# Print each Subsite
Write-Host $subWeb.Url
#Get Feature ID based on the Feature Name
$FeatureID = Get-SPFeature -Web $subWeb.Url | Where {$_.DisplayName -eq $featureFolderName}
if($FeatureID -ne $null)
{
#Check whether Feature to be activated is already activated for this subsite
if (Get-SPFeature -Web $subWeb.Url | Where {$_.ID -eq $FeatureID.Id})
{
Write-Host $featureFolderName "is already activated at :" $subWeb.Url
Enable-SPFeature -Identity $featureFolderName -URL $subWeb.Url -Force
Write-Host $featureFolderName "is Re-activated at :" $subWeb.Url
}
else
{
Enable-SPFeature -Identity $featureFolderName -Confirm:$false -Url $subWeb.url
Write-Host $featureFolderName "has been activated at :" $subWeb.url
}
}
$subWeb.Dispose()
}
else
{
Echo $subWeb "does not exist"
}
}
$siteColl.Dispose()
}
else
{
Echo $siteColl "does not exist"
}
}
}
else
{
Echo $webApplicationURL "does not exist "
}
}
catch
{
Write-Host -Object "Error occurred while running this script "
}
(Visited 313 times, 1 visits today)
