Question

Sans sauter le pistolet et écrire une requête Web Services CAML extravagants ou un script PowerShell (qui peut être optimal ici), je voudrais demander si quelqu'un sait comment obtenir une liste de fichiers volumineux dans une collection de sites SharePoint 2007 donné.

Notre base de données est énorme et nous cherchons à nettoyer les données réelles du site un peu avant le rétrécissement de la base de données. Je suis conscient des limites de taille ayant SharePoint mais je crois que nous avons retiré ou relevé le plafond si je ne me trompe pas.

Était-ce utile?

La solution

Quoi qu'il en soit, il ne devrait pas être si difficile :). Ce fonctionne bien powershell (SP2010). Il est juste un point de départ. Il itère sur toutes les listes du site.

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Sharepoint")

$rootSite = New-Object Microsoft.SharePoint.SPSite("http://goaw059:25000/sites/itbic")

$spWeb = $rootSite.OpenWeb();

foreach($list in $spWeb.lists)
{
    $list.getitems() | % { 
        if (($_.filesystemobjecttype) -eq 'File') {
            write-output "$($_.name) --> $($_.File.length)"
            }
     }
}
$rootSite.Dispose()

Autres conseils

Une façon rapide de le faire est d'utiliser l'interface WebDAV à partir de Windows. Ouvrez une bibliothèque de documents dans l'Explorateur Windows (bouton sur l'onglet Documents dans le ruban sur SP2010 - forgotton où il est SP2007- dans le menu Actions du site, je pense). Maintenant, vous pouvez utiliser les outils de l'Explorateur Windows pour obtenir la taille d'un dossier, trier par taille, filtre ou la recherche par taille, etc., comme si elle était un dossier sur votre ordinateur local.

L'autre façon est d'itérer sur vos bibliothèques de documents avec PowerShell -. Mais ça ne va pas au travail si bien avec SP2007

Si vos fichiers sont indexés par la recherche SharePoint, vous pouvez exécuter un Enterprise Search SQL la requête sur le webservice de recherche ( SPSearch.asmx pour WSS ou Search.asmx pour MOSS):

SELECT filename, size, path FROM SCOPE()
WHERE contentclass='STS_ListItem_DocumentLibrary' AND path LIKE 'http://servername/sites/MySiteCollection/%' ORDER BY size DESC

Ouvrir la collection de sites de niveau supérieur Ouvrez les paramètres du site dans la « Administration de la collection du site » colonne de gauche sélectionnez « Espace de stockage Allocation »

Affichage par défaut est des bibliothèques de documents, et vous pouvez trier par la colonne de taille. Vous pouvez également passer à des documents pour afficher une liste des plus grands documents dans l'ordre décroissant de taille.

scroll top