SharePoint Recycle Bin

Wer kennt es nicht? Kaum ist eine Solution installiert, ruft der Kunde an und beteuert dass irgendwelche Items aus einer Liste verschwunden sind… gelöscht hat sie aber niemand..

Mit der Klasse SPRecycleBinQuery kann man schnell über das SharePoint OM Abfragen auf den Papierkorb eines SPWeb´s absetzen und somit auch sehen wer etwas gelöscht hat und natürlich kann man die Items dann auch wieder schnell herstellen.

Hier ein kleines einfaches Beispiel das die Items wiederherstellt die vom bösen User mit der ID 4711 gelöscht wurden

 

   1:  using (SPSite site = new SPSite("http://localhost"))
   2:        {
   3:          using (SPWeb web = site.OpenWeb())
   4:          {
   5:            SPRecycleBinQuery query = new SPRecycleBinQuery();
   6:            query.RowLimit = 1000;
   7:            query.OrderBy = SPRecycleBinOrderBy.DeletedDate;
   8:            query.IsAscending = false;
   9:            SPRecycleBinItemCollection deletedItems
  10:                = web.GetRecycleBinItems(query);
  11:            foreach (SPRecycleBinItem deletedItem in deletedItems)
  12:            {
  13:              // if item was deleted by user with id 4711 :-)
  14:              // it should be restored
  15:              if (deletedItem.DeletedById == 4711)
  16:                deletedItem.Restore();
  17:            }
  18:          }
  19:        }

 

Viel Spaß beim wiederherstellen.

 

DotNetKicks-DE Image
Published Dienstag, 12. Januar 2010 20:36 von ThorstenHans
Abgelegt unter: ,

Kommentare

# SharePoint Recycle Bin

Mittwoch, 13. Januar 2010 09:53 von dotnet-kicks.de

Sie wurden gekickt (eine gute Sache) - Trackback von dotnet-kicks.de

Kommentar abgeben

(verpflichtend) 
(verpflichtend) 
(optional)
(verpflichtend)