Encuentre todos los formularios de lista de InfoPath en SharePoint usando PowerShell
Requisito: Encuentre todos los formularios de lista de InfoPath personalizados en SharePoint. Se le asignó la tarea de informar una lista de todos los formularios de la lista de InfoPath personalizados en la aplicación web de SharePoint durante un proyecto de migración.
Secuencia de comandos de PowerShell para buscar todos los formularios de listas de InfoPath en SharePoint
Con la obsolescencia de InfoPath en SharePoint 2016 y Office 365, queríamos encontrar todas las listas personalizadas con formularios de InfoPath en nuestro entorno de SharePoint. En esta publicación de blog, le mostraremos cómo usar PowerShell para buscar todos los formularios de lista de InfoPath en colecciones de sitios de SharePoint.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Configuration parameters
$WebAppURL="https://intranet.crescent.com"
$ReportOutput="C:\InfoPath-ListForms.csv"
#Array to Hold Result - PSObjects
$ResultColl = @()
#Get All Webs of the Web Application
$WebsColl = Get-SPWebApplication $WebAppURL | Get-SPSite -Limit All | Get-SPWeb -Limit All
#Iterate through each web
Foreach($Web in $WebsColl)
{
#Get All Lists with InfoPath List Forms in use
Foreach ($List in $web.Lists | Where { $_.ContentTypes[0].ResourceFolder.Properties["_ipfs_infopathenabled"]})
{
Write-Host "Found an InfoPath Form at: $($Web.URL), $($List.Title)"
$Result = new-object PSObject
$Result | add-member -membertype NoteProperty -name "Site URL" -Value $web.Url
$Result | add-member -membertype NoteProperty -name "List Name" -Value $List.Title
$Result | add-member -membertype NoteProperty -name "List URL" -Value "$($Web.Url)/$($List.RootFolder.Url)"
$Result | add-member -membertype NoteProperty -name "Template" -Value $list.ContentTypes[0].ResourceFolder.Properties["_ipfs_solutionName"]
$ResultColl += $Result
}
}
#Export Results to a CSV File
$ResultColl | Export-csv $ReportOutput -notypeinformation
Write-Host "InfoPath Lists Forms Report has been Generated!" -f Green
Este script genera un informe de salida CSV como se muestra a continuación:
Publicación relacionada: Encuentre todas las bibliotecas de formularios de InfoPath en SharePoint
