Búsqueda de sitios web

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.

Artículos relacionados