Vintage Weekend: Elencare tutti i documenti di un sito con Powershell su SharePoint 2007

Chiamatelo Vintage, chiamatelo Legacy, chiamatelo un po’ come vi pare ma SharePoint 2007 è ancora là fuori e gode di discreta salute.

Proprio qualche giorno fa mi è stata chiesta un indicazione di massima sul numero totale di elementi presenti in una web application. In un primo momento ho pensato che la pagina “storage manager” potesse aiutarmi, ma così non è stato in quanto questa pagina mostra al massimo i primi 100 “contenitori” più utilizzati.

Ho trovato la risposta, come in molti altri casi in Windows Powershell. Non mi stancherò mai di ripetere infatti che, anche se solo in SharePoint 2010 sono state create delle cmdlet apposite, già dalla versione 2007 è possibile accedere al modello oggetti di SharePoint da script.

Il concetto è molto semplice, selezionare una web application ed effettuare un ciclo su tutte le site collection, tutti i siti, tutti gli elenchi e scrivere URL, titolo e tipologia della lista in un file di testo. Infine ho anche aggiunto il conteggio degli elementi presenti in ciascuna lista.

[void][System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”)
$farm = [Microsoft.SharePoint.Administration.SPFarm]::Local

foreach ($spService in $farm.Services) {
if (!($spService -is [Microsoft.SharePoint.Administration.SPWebService])) {   continue;  }
$webApp = [Microsoft.SharePoint.Administration.SPWebApplication]::Lookup(“http://2007.sharepoint.corp“)

foreach ($site in $webApp.Sites) {
foreach ($web in $site.AllWebs) {
foreach ($list in $web.Lists) {
$values = $web.Url + “,” + $list.Title + “,” + $list.BaseType + “,” + ($list.items).count
add-content -path “D:\Logs\ilmiosito-items.csv” -value $values
}
$web.Dispose();
}
$site.Dispose()
}
}

Una volta eseguito lo script potrete aprire il file CSV in Excel ed utilizzarlo per fare tutte le statistiche che vi servono.

Happy Vintage PoSH
– Riccardo



Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...