Buscar todas las plantillas de sitios utilizadas por los sitios de SharePoint
Requisito: Encuentre todas las plantillas de sitio utilizadas en un entorno de SharePoint 2010 y genere un informe antes de continuar con la migración, ya que ciertas plantillas están descontinuadas en SharePoint 2013.
Solución: obtengamos un informe de uso de la plantilla del sitio en todos los sitios que usan PowerShell.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Variables
$WebAppURL="https://sp10.crescent.com"
#Get All Webs
$WebsCollection = Get-SPWebApplication $WebAppURL | Get-SPSite -Limit All | Get-SPWeb -Limit All
#Retrieve Site template data from each web
foreach ($web in $WebsCollection)
{
$SiteName = $web.Title
$SiteURL = $web.Url
$SiteTemplate = $web.WebTemplate
$TemplateID = $web.WebTemplateID
Write-Host " $($SiteName), $($SiteURL), $($SiteTemplate) ,$($TemplateID)"
}
Script de PowerShell para obtener plantillas web de todos los sitios y exportar a un informe CSV:
Modifiquémoslo un poco para encontrar todas las plantillas de sitios y exportarlas a un archivo CSV.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Variables
$WebAppURL="https://portal.crescent.com"
$ReportFile="C:\Reports\WebTemplates.csv"
#Get All Webs
$WebsCollection = Get-SPWebApplication $WebAppURL | Get-SPSite -Limit All | Get-SPWeb -Limit All
#Array to Hold Result - PSObjects
$ResultCollection = @()
#Retrieve Site template data from each web
foreach ($web in $WebsCollection)
{
$Result = New-Object PSObject
$Result | Add-Member NoteProperty SiteName($web.Title)
$Result | Add-Member NoteProperty SiteURL($web.URL)
$Result | Add-Member NoteProperty SiteTemplate($web.WebTemplate)
$Result | Add-Member NoteProperty WebTemplateID($web.WebTemplateID)
#Add the object with property to an Array
$ResultCollection += $Result
}
Write-host "Web Templates Report Generated Successfully!" -f Green
#Export the result Array to CSV file
$ResultCollection | Export-CSV $ReportFile -NoTypeInformation
Para encontrar una plantilla de sitio utilizada por un sitio en particular, consulte ¿Cómo encontrar la plantilla de sitio en SharePoint?