SharePoint Online: obtenga el tamaño de la biblioteca de documentos mediante PowerShell
Requisito: Obtener el tamaño de una biblioteca de documentos de SharePoint Online.
¿Cómo comprobar el tamaño de la biblioteca de documentos de SharePoint Online?
¿Está buscando una manera de averiguar rápidamente el tamaño de su biblioteca de documentos en SharePoint Online? A medida que las bibliotecas de documentos crecen y evolucionan, es esencial monitorear su tamaño para garantizar que utilicen los recursos de almacenamiento de manera efectiva y eficiente. En este artículo, exploraremos cómo determinar el tamaño de una biblioteca de documentos en SharePoint Online, incluida una guía paso a paso para ver el tamaño total de una biblioteca y un desglose de cada carpeta y archivo que contiene. También veremos cómo usar PowerShell para obtener el tamaño de su biblioteca de documentos.
Para obtener un tamaño de biblioteca de documentos, haga lo siguiente:
- Inicie sesión en su sitio de SharePoint Online >> Haga clic en Configuración >> Configuración del sitio.
- Haga clic en "Métricas de almacenamiento" en "Administración de la colección de sitios".
La página de métricas de almacenamiento muestra el tamaño de cada biblioteca de documentos en el sitio en la columna "Tamaño total".
Si profundiza, verá el tamaño total de la biblioteca de documentos y un desglose del tamaño de cada carpeta y archivo en la biblioteca.
Tenga en cuenta que el tamaño que se muestra en SharePoint Online puede no ser el tamaño exacto de la biblioteca en el sistema de archivos, ya que SharePoint Online utiliza varias técnicas, como la compresión y el control de versiones, para optimizar el almacenamiento de datos. Sin embargo, el tamaño que se muestra en SharePoint Online es una buena estimación del espacio de almacenamiento de la biblioteca de documentos.
PowerShell para obtener el tamaño de la biblioteca de documentos o listas en SharePoint Online:
Utilice este script de PowerShell para obtener el tamaño de la biblioteca en SharePoint Online:
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Function to Get the size of a List or Library in SharePoint Online
Function Get-SPOListSize($SiteURL, $ListName)
{
Try
{
#Get credentials to connect to SharePoint Online
$Cred = Get-Credential
#Set up the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#get the list
$List = $Ctx.Web.Lists.GetByTitle($ListName)
$Ctx.Load($List)
$Ctx.ExecuteQuery()
#Query to Get all List Items from all folders - exclude Folder objects
$Query = New-Object Microsoft.SharePoint.Client.CamlQuery
$Query.ViewXml = "<View Scope='RecursiveAll'><Query><OrderBy><FieldRef Name='ID' Ascending='TRUE'/></OrderBy></Query><RowLimit Paged='TRUE'>2000</RowLimit></View>"
$i=1;$TotalSize = 0
Do {
#Get items from the list in batches
$ListItems = $List.GetItems($Query)
$Ctx.Load($ListItems)
$Ctx.ExecuteQuery()
$Query.ListItemCollectionPosition = $ListItems.ListItemCollectionPosition
ForEach($ListItem in ($ListItems| Where {$_.FileSystemObjectType -eq "File"}))
{
#Get the File
$File = $ListItem.File
$Ctx.Load($File)
$Ctx.Load($File.Versions)
$Ctx.ExecuteQuery()
Write-host -f Yellow "Size of '$($File.Name)' Item ($i of $($List.ItemCount)) - " -NoNewline
$FileSize =0; $VersionSize = 0
If($File.Versions.Count -ge 1)
{
$VersionSize = $File.Versions | Measure-Object -Property Size -Sum | Select-Object -expand Sum
}
$FileSize = $ListItem.File.Length + $VersionSize
Write-host "$($ListItem.File.Length) + $VersionSize :" $FileSize
$TotalSize += $FileSize
$i++
#Clear
}
} While ($Query.ListItemCollectionPosition -ne $null)
Return [Math]::Round($TotalSize/1MB, 2)
}
Catch [System.Exception]
{
Write-Host -f Red "Error:"$_.Exception.Message
}
}
#parameters
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$ListName="Branding"
#Call the function to get document library size
$LibrarySize = Get-SPOListSize -SiteURL $SiteURL -ListName $ListName
Write-host -f Green "`nToal Size of the list/library: $LibrarySize MB"
Esto puede resultar útil si necesita saber cuánto espacio de almacenamiento está ocupando su biblioteca.
PnP PowerShell para obtener el tamaño de la biblioteca de documentos
También podemos obtener el tamaño de una biblioteca de documentos usando PnP PowerShell.
#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/Marketing"
$LibraryName = "Documents"
#Connect to SharePoint Online site
Connect-PnPOnline -Url $SiteURL -Interactive
$FileData = @()
#Iterate through all files
Get-PnPListItem -List $LibraryName -PageSize 500 | Where {$_.FieldValues.FileLeafRef -like "*.*"} | ForEach-Object {
Write-host "Getting Size of the File:"$_.FieldValues.FileRef -NoNewline
#Get FileSize & version Size
$FileSizeinKB = [Math]::Round(($_.FieldValues.File_x0020_Size/1KB),2)
$File = Get-PnPProperty -ClientObject $_ -Property File
$Versions = Get-PnPProperty -ClientObject $File -Property Versions
$VersionSize = $Versions | Measure-Object -Property Size -Sum | Select-Object -expand Sum
$VersionSizeinKB = [Math]::Round(($VersionSize/1KB),2)
$TotalFileSizeKB = [Math]::Round(($FileSizeinKB + $VersionSizeinKB),2)
Write-host `t $TotalFileSizeKB "KB" -f Yellow
#extract File Size data
$FileData+=New-Object PSObject -Property ([Ordered]@{
"File Name" = $_.FieldValues.FileLeafRef
"File URL" = $_.FieldValues.FileRef
"File Size (KB)" = $FileSizeinKB
"Version Size (KB)" = $VersionSizeinKB
"Total File Size (KB)" = $TotalFileSizeKB
})
}
$FileData | Format-table
#Calculate the Total Size of the document library
$LibrarySize = [Math]::Round((($FileData | Measure-Object -Property "Total File Size (KB)" -Sum | Select-Object -expand Sum)/1KB),2)
Write-host -f Green "Total Library Size (MB):" $LibrarySize
Salida del guión:
Conclusión
En resumen, determinar el tamaño de una biblioteca de documentos en SharePoint Online es un proceso sencillo. Si sigue los pasos descritos anteriormente, puede ver fácilmente el tamaño total de una biblioteca y obtener un desglose del tamaño de cada carpeta y archivo que contiene. Esta información ayuda a monitorear el crecimiento de sus bibliotecas de documentos y garantizar que no excedan sus cuotas de almacenamiento. Además, puede utilizar PowerShell para conocer el tamaño de sus bibliotecas de documentos, planificar necesidades de almacenamiento futuras y asegurarse de tener suficiente capacidad de almacenamiento para satisfacer las demandas de su organización.


