Modified und Created Informationen in SharePoint Listen- und Bibliotheks-Items ändern

26.06.2018 0 Von Frank

Manchmal kann es notwendig werden, dass man in SharePoint Listen- oder Bibliothekseinträgen das Created bzw. Modified-Datum oder auch den Benutzernamen des Erstellers eines Eintrags anpassen muss.

In die Situation kann man z.B. nach vorherigen Massenuploads in eine Bibliothek kommen oder wenn Mitarbeiter in Views weiterhin Ihre Items ansehen sollen.

Zur Anpassung der Attribute bietet PowerShell geeignete Möglichkeiten. Über die folgenden Item-Eigenschaften kann man die Attribute anpassen:

$item["Modified"]
$item["Created"]
$item["Author"]

Man muss nur beachten, dass man am Ende des Skripts kein $item.SystemUpdate($false) ausführen muss, sondern:
$item.UpdateOverwriteVersion()

Dieser Befehl verhindert es, dass die Informationen wie “Created”, “Modified” und “Author” direkt wieder überschrieben werden.

Das komplette Skript sieht folgendermaßen aus. Natürlich müssen $webUrl, $listName, $newDate und $userLogin auf die Zielumgebung angepasst werden. In diesem Beispiel wird das Item mit der ID 2 angepasst.

#SharePoint CMDLETS laden
Add-PsSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Parameter
$webUrl   = "http://server/sites/weburl"
$listName = "Testliste"
$itemID   = 2	#ID des Items, das angepasst werden soll

#Web Objekt erzeugen und Liste sowie Item auslesen
$web = Get-SPWeb -Identity $webUrl
$list = $web.Lists[$listName]
$item = $list.GetItemById($itemID)

#Modified und Created ersetzen
$newDate = Get-Date "06/20/2018"
$item["Modified"] = $newDate
$item["Created"] = $newDate

#Autor ersetzen
$userLogin = "domain\user" #Hier bitte den neuen Usernamen eintragen
$user = Get-SPUser -Web $web | where {$_.userlogin -eq $userLogin}
$userString = "{0};#{1}" -f $user.ID, $user.UserLogin.Tostring()
$item["Author"] = $userString

#Änderungen speichern ohne das aktuelle "Modified Datum" zu überschreiben
$item.UpdateOverwriteVersion()

$web.Dispose()

 

Vor dem Skript sieht der Eintrag folgendermaßen aus. Der Eintrag besitzt als Modified- und Created-Date den 19. Juni und das Item wurde vom System Account erstellt.

Danach sind Author und die beiden Datumsinformationen aktualisiert worden: