Búsqueda de sitios web

¿Cómo eliminar una lista de SharePoint usando PowerShell?


Problema: Una solución defectuosa instalada en la granja de SharePoint creó listas duplicadas en todos los sitios de una gran colección de sitios con más de 100 sitios. ¡Tuvimos que eliminarlos a todos!

Para eliminar una lista de SharePoint, desde el navegador, podemos ir a: Ver todo el contenido del sitio >> Haga clic en el enlace “Eliminar” del menú contextual de la lista. Alternativamente, puede ingresar a Configuración de lista >> hacer clic en "Eliminar esta lista" para eliminar una lista en SharePoint.

Sin embargo, hay más de 100 sitios donde es necesario eliminar una lista en particular.

Eliminar lista de SharePoint usando PowerShell

Comando de PowerShell para eliminar la lista en SharePoint:


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Site collection URL 
$SiteUrl="https://your-sharepoint-site" 
$ListName = "List-Name-To-Delete"

#Get Web and List objects
$web = Get-SPWeb $SiteURL
$list = $web.Lists[$ListName]

#Reset the "Allow Deletion" Flag
$list.AllowDeletion = $true
$list.Update()

$list.Delete()

write-host "List has been deleted successfully!"

Una línea para eliminar una lista de SharePoint usando PowerShell:


Get-SPWeb "https://Your-Site-URL" | Where-Object { $_.Lists.Delete([System.Guid]$_.Lists["Your-List-Name"].ID) }

SharePoint PowerShell para eliminar lista por GUID


Get-SPWeb "https://your-SharePoint-Site-URL" | Where-Object { $_.Lists.Delete([System.Guid]"{43c30f3a-f39a-4410-976c-a87bebb36e42}") }

Simplemente reemplace la URL web y el GUID con los suyos y ejecute el script.

Creemos una función personalizada para eliminar la lista de SharePoint usando el script de PowerShell.


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Custom function to delete SharePoint list or document library using powershell
Function Delete-SPList
{
    param
    (
        [string]$WebURL  = $(throw "Please Enter the Web URL!"),
        [string]$ListName = $(throw "Please Enter the List Name to Delete!")
    )
    
    #Get the Objects 
    $Web = Get-SPWeb $WebURL
    $List = $Web.lists[$ListName]
 
    if($List)
    {
        #Set Allow Delete Flag
        $list.AllowDeletion = $true
        $list.Update()

        #delete list from sharepoint using powershell - Send List to Recycle bin
        $list.Recycle()
        
        #TO permanently delete a list, Use: 
        #$List.Delete()

        Write-Host "List: $($ListName) deleted successfully from: $($WebURL)"
    }
    else
    {
        Write-Host "List: $($ListName) doesn't exist at $($WebURL)"
    }
    $web.Dispose() 
}

#Call the function to delete list
Delete-SPList "https://intranet.crescent.com" "ConfigListv1"

Entonces, llame a la función recorriendo los sitios:


#Site URL variable
$SiteURL ="https://intranet.crescent.com" 

#get the site collection
$Site = Get-SPSite $SiteURL

#Loop through each site in the site collection
Foreach($web in $site.Allwebs)
{
    #Call the function to delete list
    Delete-SPList $web.URL "ConfigListv1"
}

Forzar la eliminación de una lista corrupta de SharePoint mediante PowerShell:
En algunos casos, necesita la ayuda de PowerShell cuando no puede eliminar la lista de la interfaz de usuario web de SharePoint, ya que la lista está dañada y SharePoint no se lo permite. elimínelo, use este script para eliminar la lista de SharePoint usando PowerShell: Forzar la eliminación de la lista corrupta en SharePoint usando PowerShell

Artículos relacionados