Questo codice in C# per SharePoint 2007 / 2010, elenca lo spazio occupato dalle site collection e la data di ultima modifica:

C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;

namespace ElencoSiteCollection
{
  class Program
  {
    static void Main(string[] args)
    {
      string url = args[0];
      Console.WriteLine("Sito: " + url);
      SPUserToken ut = null;

      using (SPSite site = new SPSite(url))
      {
        ut = site.SystemAccount.UserToken;
      }
      using (SPSite site = new SPSite(url, ut))
      {
        Console.WriteLine("User:" + site.RootWeb.CurrentUser);
        SPWebApplication wApp = site.WebApplication;
        foreach (SPSite s in wApp.Sites)
        {
          s.CatchAccessDeniedException = true;
          //stampo i dati della site collection
          string msg = "Site;" + s.ServerRelativeUrl;
          try
          {
            //trovo la data di ultima modifica del sito
            DateTime dt = DateTime.MinValue;
            if (s.LastContentModifiedDate > dt)
              dt = s.LastContentModifiedDate;
            if (s.LastSecurityModifiedDate > dt)
              dt = s.LastSecurityModifiedDate;

            msg += ";" + dt.ToString("yyyy-MM-dd HH:mm:ss");
            msg += ";" + (s.Usage.Storage / 1048576.0).ToString("0.0");
          }
          catch (Exception ex)
          {
            Console.WriteLine(ex);
          }
          finally
          {
            s.Dispose();
          }
          Console.WriteLine(msg);
        }
      }
    }
  }
}
devi compilarlo e richiamarlo con:

DOS / Batch file

.\ElencoSiteCollection.exe http://sharepoint
ritorna un elenco formattato in CSV che può essere aperto in excel

Text

Sito: http://sharepoint
User:SHAREPOINT\system
Site;/;2012-04-16 22:02:23;63,1
Site;/sites/Test;2012-04-16 14:47:54;0,4
Site;/sites/Reservation;2012-04-16 14:47:55;0,4
Site;/personal/aico;2012-04-16 14:47:56;0,4
se vuoi reindirizzare l'output su un file

DOS / Batch file

.\ElencoSiteCollection.exe http://sharepoint > elencoexcel.txt
Utile soprattutto sulle farm 2007 dove non è installato PowerShell.
Tags:
SharePoint498 SharePoint 2007218 SharePoint 2010224
Potrebbe interessarti anche: