SharePoint Online: eliminación masiva de archivos de un CSV mediante PowerShell
Requisito: Eliminar varios archivos de las bibliotecas de documentos de SharePoint Online desde un CSV mediante PowerShell.
¿Cómo eliminar varios archivos en el sitio de SharePoint Online desde un archivo CSV?
PowerShell puede ser su poderoso aliado cuando se trata de administrar sus archivos y carpetas en SharePoint Online. Estaba buscando una manera de eliminar rápidamente varios archivos de un sitio de Sharepoint Online, pero no quería eliminar archivos manualmente uno por uno a través del navegador web. En esta publicación de blog, permítame compartirle cómo usar PowerShell para eliminar varios archivos en Sharepoint Online a través de un archivo CSV.
Tenemos un archivo CSV con una lista de URL de varios archivos en múltiples bibliotecas de documentos en SharePoint Online. Quería eliminarlos de forma masiva. Este es mi formato de archivo CSV: tiene como columnas "Nombre de archivo" y "URL relativa al servidor".
Puede descargar la plantilla CSV en:
PowerShell para eliminar archivos usando un archivo CSV en SharePoint Online:
Aquí está el script de PowerShell que elimina cada archivo del archivo CSV en un sitio determinado:
#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$CSVFilePath = "C:\Temp\BulkDeleteFiles.csv"
#Get Credentials to connect
$Cred = Get-Credential
Try {
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials $Cred
#Read from CSV file and delete
Import-CSV $CSVFilePath | ForEach-Object {
#Check if File exists
$File = Get-PnPFile -ServerRelativeUrl $_.ServerRelativeUrl -ErrorAction SilentlyContinue
If($File)
{
#Delete the File - Send to Recycle bin without prompting
Remove-PnPFile -ServerRelativeUrl $_.ServerRelativeURL -Recycle -Force
Write-Host "Deleted File '$($_.FileName)' at $($_.ServerRelativeUrl)" -ForegroundColor Green
}
Else
{
Write-Host "File '$($_.FileName)' doesn't exists at $($_.ServerRelativeUrl)" -ForegroundColor Yellow
}
}
}
catch {
write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
Esto puede resultar útil si necesita eliminar rápidamente una gran cantidad de archivos que ya no son necesarios en su sitio.
