Habe ein Script geschrieben, für die Wartung von Dokumentenbibliotheken mit Versionierung.
Dieses PS-Script löscht alle Versionen die älter als ein Anzahl von Tagen ist, behält aber je Dokument mindestens die letzten anzugebende Anzahl von Versionen.
Ist ganz hübsch, wenn man Datenbankserver zusammenräumen will.....
************************
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$DaysOlderThan = 0 # Versions older than these number of days should be deleted$SiteCollection = "http://intranet"$SubSite = "akd"$DocLibrary = "test"$KeepVersions = 3 # Minimum Number of latest Versions to keep
$site = new-Object Microsoft.Sharepoint.SpSite($SiteCollection)$web = $site.OpenWeb($SubSite)$list = $web.Lists[$DocLibrary]
$FromDate = [Microsoft.Sharepoint.Utilities.SPUtility]::CreateISO8601DateTimeFromSystemDateTime([System.DateTime]::UTCNow.AddDays($DaysOlderThan))
foreach ($fl in $list.Items){$cv = $fl.Versions[0].VersionId/512
if ($cv -gt $KeepVersions){for($i=$fl.Versions.Count-$KeepVersions-1;$i -ge 0;){$CrDate = [Microsoft.Sharepoint.Utilities.SPUtility]::CreateISO8601DateTimeFromSystemDateTime($fl.versions[$i].Created.Date)
if ($CrDate -lt $FromDate){$fl.file.Versions[$i].Delete()}$i=$i-1;
}}}
$web.Dispose()$site.Dispose()
Korrektur
$DaysOlderThan = 30 # Versions older than these number of days should be deleted$SiteCollection = "http://sharepoint.domain.com"$SubSite = "subsitename"$DocLibrary = "doclibrary name"$KeepVersions = 3 # Minimum Number of latest Versions to keep
$FromDate = [Microsoft.Sharepoint.Utilities.SPUtility]::CreateISO8601DateTimeFromSystemDateTime([System.DateTime]::UTCNow.AddDays(-$DaysOlderThan))
Hallo,
das Script ist genau das wonach ich schon lange gesucht habe. Nur leider funktioniert es nicht, bzw alle Versionen sind nach der Ausführung immer noch vorhanden.
$DaysOlderThan = 1 # Versions older than these number of days should be deleted$SiteCollection = "http://localhost"$SubSite = "Docs"$DocLibrary = "Dokumente"$KeepVersions = 1 # Minimum Number of latest Versions to keep
Gruß Daniel