Búsqueda de sitios web

Eliminar todos los elementos de una lista de SharePoint usando PnP PowerShell


Recientemente, recibí un requisito urgente para eliminar todos los elementos de una lista de SharePoint Online. PowerShell es la mejor opción para eliminar elementos de lista de forma masiva. En este tutorial, le mostraré cómo eliminar todos los elementos de una lista de SharePoint usando PnP PowerShell y PowerShell.

Recomiendo usar PnP PowerShell para eliminar elementos de la lista de SharePoint.

De todos los ejemplos, usaré la lista de SharePoint Online a continuación. La lista tiene algunos elementos, como se muestra en la captura de pantalla siguiente.

Eliminar todos los elementos de una lista de SharePoint Online usando PnP PowerShell

PnP PowerShell proporciona formas eficientes de trabajar con listas de SharePoint.

Aquí está el script completo para eliminar todos los elementos de una lista de SharePoint usando PnP PowerShell.

Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/MarketingTeam" -Interactive
$listName = "ProjectTasks"

# Get all items in the list
$items = Get-PnPListItem -List $listName

# Loop through and delete each item
foreach ($item in $items) {
    Remove-PnPListItem -List $listName -Identity $item.Id -Force
}

Ejecuté el script anterior usando código VS y puede ver en la captura de pantalla a continuación que se eliminaron todos los elementos de la lista de SharePoint.

Al eliminar elementos de la lista de SharePoint, también puede definir el tamaño de la página. Aquí tenéis un guión completo.

Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/MarketingTeam" -Interactive
$listName = "ProjectTasks"

# Get all items in the list
$items = Get-PnPListItem -List $listName -PageSize 2000

# Loop through and delete each item
foreach ($item in $items) {
    Remove-PnPListItem -List $listName -Identity $item.Id -Force
}

# Disconnect the session
Disconnect-PnPOnline

Lea Importar datos de Excel a la lista de SharePoint usando PnP PowerShell

Eliminar por lotes elementos de listas grandes de SharePoint usando PnP PowerShell

Si elimina todos los elementos de una lista grande de SharePoint, el proceso puede ser un poco lento. La eliminación por lotes puede acelerar significativamente el proceso. Con PnP PowerShell, es fácil eliminar elementos por lotes.

Aquí está el código completo.

Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/MarketingTeam" -Interactive
$listName = "ProjectTasks"
# Get all items in the list
$items = Get-PnPListItem -List $listName

# Create a batch
$batch = New-PnPBatch

# Queue deletion of each item
foreach ($item in $items) {
    Remove-PnPListItem -List $listName -Identity $item.Id -Batch $batch -Force
}

# Execute the batch
Invoke-PnPBatch -Batch $batch

Aquí :

  • El cmdlet Connect-PnPOnline con el parámetro -Interactive le solicitará que inicie sesión de forma interactiva.
  • Get-PnPListItem recupera los elementos de la lista y -PageSize 2000 ayuda a manejar listas más grandes.
  • Remove-PnPListItem se utiliza para eliminar cada elemento.

A continuación se explica cómo eliminar elementos de una lista grande de SharePoint Online usando PnP PowerShell con un lote.

Lea Agregar más de 5000 elementos a una lista de SharePoint Online usando PnP PowerShell

Eliminar todos los elementos de una lista de SharePoint usando PowerShell

En el primer método, le mostraré cómo eliminar todos los elementos de una lista de SharePoint Online usando PowerShell (SharePoint Online Management Shell). Si es nuevo en esto, primero puede descargar e instalar SharePoint Online Management Shell.

A continuación se muestra el script completo de PowerShell para eliminar todos los elementos de la lista de SharePoint.

$siteUrl = "https://szg52.sharepoint.com/sites/MarketingTeam"
$listName = "ProjectTasks"

# Connect to the site
Connect-SPOService -Url $siteUrl

# Get the list
$list = Get-SPOList -Identity $listName

# Get all items in the list
$items = Get-SPOListItem -List $list

# Loop through and delete each item
foreach ($item in $items) {
    Remove-SPOListItem -List $list -Identity $item.Id -Confirm:$false
}

Una vez que ejecute el script anterior, se eliminarán todos los elementos de la lista de SharePoint.

En este tutorial, he explicado cómo eliminar todos los elementos de una lista de SharePoint Online usando PnP PowerShell y cómo eliminar todos los elementos en lotes de una lista grande de SharePoint usando PnP PowerShell.

Si aún tiene preguntas, no dude en dejar un comentario a continuación.

Artículos relacionados