8 juin 2010

Powershell / Suppression des éléments d'une liste WSS ou Sharepoint

Ci-dessous un script Powershell permettant de vider une liste d’éléments WSS. Ce script a été testé avec succès sur une plateforme virtuelle WSS 2.0 (90 000 lignes, deux semaines de temps traitement !!). Ce script fonctionne aussi sur WSS 3.


function DeleteListItems([string]$SiteURL, [string]$ListName)
{
   [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
   $site = new-object Microsoft.SharePoint.SPSite($SiteURL)
   $web = $site.openweb()
   Write-Output get-date
   Write-Output "Web URL: ", $web.URL
   Write-Output "Web Title: ", $web.Title

   $myList = $web.Lists[$ListName]
   Write-Output "List Title: ", $myList.Title
   $collListItems = $myList.Items

   $y=$myList.Items.Count-1

   for ($y; $y -gt -1; $y--)
   {
   #Get Item
   $myItem=$collListItems.Item($y)
   Write-Host "deleting item ID", $myItem.ID, $y, "..."
   Write-Output "deleting item ID", $myItem.ID, $y, "..."
   $myList.Items.Delete($y)
   }

}

$_SiteURL="
http://mywsssite/"
$_ListName ="Events"

DeleteListItems $_SiteURL $_ListName

1 commentaire:

Jean-Marie Auville a dit…

heureusement pour nous que d'autres se sont hatelés à faire quelque chose de plus rapide, parce que 2 semaines sans que ça paresse c'est quand même un peu long (même si je suis le premier à dire qu'avec l'informatique, il faut savoir attendre). voici un petit exemple de ce qu'il est possible de faire avec la version 2007 : http://snipplr.com/view/24919/delete-all-items-in-a-sharepoint-list/