Obtenga todo el inventario de listas y bibliotecas de una colección de sitios de SharePoint mediante PowerShell
Requisito: Obtener el inventario de todas las listas y bibliotecas de una colección de sitios de SharePoint.
PowerShell para obtener la lista de colecciones de sitios y el inventario de bibliotecas:
Si alguna vez necesitó obtener un inventario completo de todas las listas y bibliotecas en un sitio de SharePoint, ¡PowerShell es el camino a seguir! En esta publicación de blog, veremos cómo obtener una lista y un inventario de biblioteca de un sitio de SharePoint usando PowerShell. También veremos cómo obtener una lista detallada de todo lo que está disponible para cada colección de sitios en una aplicación web.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Site collection Variable
$SiteURL="https://intranet.crescent.com"
$ReportOutput="C:\SiteInventory.csv"
#Get the site collection
$Site = Get-SPSite $SiteURL
$ResultData = @()
#Ge All Sites of the Site collection
Foreach($web in $Site.AllWebs)
{
Write-host -f Yellow "Processing Site: "$Web.URL
#Get all lists - Exclude Hidden System lists
$ListCollection = $web.lists | Where-Object { ($_.hidden -eq $false) -and ($_.IsSiteAssetsLibrary -eq $false)}
#Iterate through All lists and Libraries
ForEach ($List in $ListCollection)
{
$ResultData+= New-Object PSObject -Property @{
'Site Title' = $Web.Title
'Site URL' = $Web.URL
'List-Library Name' = $List.Title
'Item Count' = $List.ItemCount
'Created By' = $List.Author.DisplayName
'Last Modified' = $List.LastItemModifiedDate.ToString();
'List URL' = "$($Web.Url)/$($List.RootFolder.Url)"
}
}
}
#Export the data to CSV
$ResultData | Export-Csv $ReportOutput -NoTypeInformation
Write-host -f Green "Report Generated Successfully at : "$ReportOutput
Este script exporta los resultados a un archivo CSV para su posterior análisis, lo que puede resultar útil para solucionar problemas o realizar auditorías.
Resultado del informe:
Obtener listas y bibliotecas de inventario para todas las colecciones de sitios en una aplicación web
Antes de ejecutar el script, asegúrese de agregar una política de usuario de la aplicación web con control total para la aplicación web.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Set Parameters
$WebAppURL="https://intranet.sharepoint.com"
$ReportOutput="C:\Temp\SiteInventory.csv"
#Delete the Output report file if exists
If (Test-Path $ReportOutput) { Remove-Item $ReportOutput }
#Get all site collections from the web application
Get-SPWebApplication $WebAppURL | Get-SPSite -Limit ALL | Get-SPWeb -Limit ALL -PipelineVariable Web | ForEach-Object {
Write-host -f Yellow "Processing Site: "$Web.URL
#Get all lists - Exclude Hidden System lists
$ListCollection = $Web.lists | Where-Object { ($_.hidden -eq $false) -and ($_.IsSiteAssetsLibrary -eq $false)}
$ResultData = @()
#Iterate through All lists and Libraries
ForEach ($List in $ListCollection)
{
$ResultData+= New-Object PSObject -Property @{
'Site Title' = $Web.Title
'Site URL' = $Web.URL
'List/Library Name' = $List.Title
'Item Count' = $List.ItemCount
'Created By' = $List.Author.DisplayName
'Last Modified' = $List.LastItemModifiedDate.ToString();
'List URL' = "$($Web.Url)/$($List.RootFolder.Url)"
}
}
#Append data to CSV
$ResultData | Export-Csv $ReportOutput -NoTypeInformation -Append
}
Write-host -f Green "Report Generated Successfully at: "$ReportOutput
Recuperar un inventario de todas las listas y bibliotecas de una colección de sitios de SharePoint es una tarea común. PowerShell facilita la recuperación de un inventario de todas las listas y bibliotecas dentro de una colección de sitios de SharePoint mediante unos pocos pasos. ¡Ahorre tiempo y esfuerzo con los scripts proporcionados en este artículo!
Si desea generar un inventario de todos los documentos en un sitio, use: Obtener inventario de documentos para una colección de sitios usando PowerShell
