Activar-desactivar función en todas las colecciones de sitios en SharePoint usando PowerShell
Usamos los cmdlets de PowerShell “Enable-SPFeature” y “Disable-SPFeature” en SharePoint 2013./Sitios de SharePoint 2016 para activar o desactivar funciones como en mi otro artículo: Cómo activar-desactivar funciones en SharePoint. En ocasiones, es posible que tengamos que activar la función para todas las colecciones de sitios o desactivarla en todos los sitios. Aquí están mis scripts de PowerShell para hacer eso.
Habilite una característica para todas las colecciones de sitios en SharePoint:
En mi caso, tuve que habilitar la función "Abrir documentos en aplicaciones cliente" en cada colección de sitios de una aplicación web para forzar la apertura de documentos en clientes de Office como Microsoft Word en lugar de aplicaciones web de Office debido a la limitación de la licencia.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#variables
#$WebAppURL = "https://intranet.crescent.com"
$FeatureName ="OpenInClient"
#Get the Web Application
$webApp = Get-SPWebApplication -Identity $WebAppURL
#Get all site collections with in the web app
$SitesCollection = $WebApp | Get-SPSite -limit all
#Iterate through each site
foreach ($site in $SitesCollection)
{
#Check if feature is already activated
$feature = Get-SPFeature -site $site.Url | Where-object {$_.DisplayName -eq $FeatureName}
if($feature -eq $null)
{
#Enable the feature
Enable-SPFeature -Identity $FeatureName -url $site.url -Confirm:$False
Write-host "Feature Activated on $($site.URL)" -ForegroundColor Green
}
else
{
Write-host "Feature is already Active on $($site.URL)" -ForegroundColor Red
}
}
PowerShell para desactivar la función en todos los sitios:
Requisito: Desactive la función "Redireccionamiento móvil" en todos los sitios en una aplicación web de SharePoint 2013.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Variables
$WebAppURL = "https://intranet.crescent.com"
$FeatureName = "MobilityRedirect"
#Disable Mobile View feature on all sites in the web application
$WebsCollection = Get-SPWebApplication $WebAppURL | Get-SPSite -Limit ALL | Get-SPWeb -Limit ALL
#Itereate through each web
ForEach($Web in $WebsCollection)
{
#Check if feature is already activated
$feature = Get-SPFeature -web $Web.Url | Where-object {$_.DisplayName -eq $FeatureName}
if($feature -ne $null)
{
#Disable the Mobile browser view feature
Disable-SPFeature -identity $FeatureName -URL $Web.URL -Force -Confirm:$false
write-host "Mobile Redirect feature deactivated at site: $($Web.Url)"
}
}