Viele Nutzer stehen vor der Herausforderung, dass das Änderungsdatum von Ordnern in SharePoint nicht das Datum der zuletzt geänderten Datei innerhalb dieses Ordners widerspiegelt. Stattdessen zeigt es oft das Erstellungsdatum des Ordners oder das Datum der letzten direkten Änderung am Ordner selbst (z.B. Umbenennung). Dies führt zu Diskrepanzen im Vergleich zur lokalen Ansicht im Windows Explorer, wo das Ordnerdatum üblicherweise die Aktualität des Inhalts besser darstellt. Glücklicherweise gibt es Methoden, um diese Datumsangaben in SharePoint zu korrigieren und aktuell zu halten.
In SharePoint-Bibliotheken wird das Metadatum "Geändert" (oder "Modified") eines Ordners primär durch Aktionen beeinflusst, die direkt den Ordner betreffen. Das Hinzufügen, Löschen oder Ändern von Dateien innerhalb eines Ordners führt standardmäßig nicht zu einer Aktualisierung des "Geändert"-Datums des übergeordneten Ordners. Dieses Verhalten unterscheidet sich von der Erwartung vieler Benutzer, die vom Windows Explorer gewohnt sind, dass ein Ordnerdatum oft die letzte Aktivität im Ordner widerspiegelt.
In SharePoint Online und neueren Versionen gibt es zwar interne Mechanismen wie LastItemUserModifiedDate, die für bestimmte Szenarien Änderungen verfolgen, aber die Anzeige des Haupt-Änderungsdatums für Ordner bleibt oft bei der letzten direkten Ordnerinteraktion stehen. Dies ist besonders auffällig nach Migrationen oder beim Hochladen großer Datenmengen, wo das Ordnerdatum dann dem Uploadzeitpunkt entsprechen kann, nicht dem tatsächlichen letzten Stand der Inhalte.
Eine typische Ordnerstruktur, deren Datumsangaben in SharePoint korrekt gehalten werden sollen.
Da eine direkte, automatische Synchronisation des Ordnerdatums basierend auf der jüngsten Datei über die Standard-OneDrive-Synchronisierung nicht vorgesehen ist und SharePoint das Ordnerdatum nicht dynamisch auf diese Weise aktualisiert, sind programmatische Ansätze erforderlich.
PowerShell, insbesondere mit dem PnP (Patterns and Practices) Modul, bietet eine mächtige Methode, um SharePoint-Metadaten in großem Umfang zu manipulieren. Ein Skript kann so gestaltet werden, dass es rekursiv durch Ihre Ordnerstruktur iteriert, für jeden Ordner die zuletzt geänderte Datei identifiziert und deren Änderungsdatum auf den Ordner selbst überträgt.
-SystemUpdate, um keine neue Version des Ordners zu erstellen und das "Geändert von"-Feld nicht zu überschreiben.Das folgende Skript dient als Grundlage und muss an Ihre spezifische Umgebung (Tenant-URL, Site-Name, Bibliotheksname) angepasst werden.
# Verbindung herstellen (Interaktive Anmeldung)
# Ersetzen Sie <IhrTenant> und <Site> mit Ihren Werten
Connect-PnPOnline -Url "https://<IhrTenant>.sharepoint.com/sites/<Site>" -Interactive
# Name Ihrer Dokumentbibliothek
$libraryName = "IhreLibrary" # Beispiel: "Dokumente"
# Die Liste (Bibliothek) abrufen
$list = Get-PnPList -Identity $libraryName
# Alle Ordner in der Bibliothek abrufen (rekursiv)
# FSObjType = 1 filtert nach Ordnern
$folders = Get-PnPListItem -List $list -Query "<View Scope='RecursiveAll'><Query><Where><Eq><FieldRef Name='FSObjType'/><Value Type='Integer'>1</Value></Eq></Where></Query></View>"
foreach($folderItem in $folders) {
$folderServerRelativeUrl = $folderItem.FieldValues["FileRef"]
Write-Host "Verarbeite Ordner: $folderServerRelativeUrl"
# Dateien im aktuellen Ordner abrufen (nicht rekursiv für diesen Schritt, nur direkte Kinder)
# Anpassung ggf. nötig, falls auch Dateien in Unterordnern für das Datum des aktuellen Ordners zählen sollen.
# Für dieses Beispiel nehmen wir an, das Datum der neuesten Datei *direkt* im Ordner ist maßgeblich.
$filesInFolder = Get-PnPListItem -List $list -FolderServerRelativeUrl $folderServerRelativeUrl -PageSize 500 | Where-Object { $_.FieldValues["FSObjType"] -eq 0 } # FSObjType = 0 filtert nach Dateien
if ($filesInFolder.Count -gt 0) {
# Dateien nach Änderungsdatum sortieren und die neueste auswählen
$latestFile = $filesInFolder | Sort-Object { $_.FieldValues["Modified"] } -Descending | Select-Object -First 1
$latestFileDate = $latestFile.FieldValues["Modified"]
Write-Host "Neueste Datei im Ordner '$($folderItem.FieldValues["FileLeafRef"])' ist '$($latestFile.FieldValues["FileLeafRef"])' vom $latestFileDate"
# Ordner-Metadaten aktualisieren
# -SystemUpdate ändert nur Metadaten, ohne eine neue Version zu erstellen oder den "Geändert von"-Benutzer zu ändern.
Set-PnPListItem -List $list -Identity $folderItem.Id -Values @{"Modified" = $latestFileDate} -SystemUpdate
Write-Host "Änderungsdatum für Ordner '$($folderItem.FieldValues["FileLeafRef"])' aktualisiert auf $latestFileDate." -ForegroundColor Green
} else {
Write-Host "Keine Dateien im Ordner '$($folderItem.FieldValues["FileLeafRef"])' gefunden." -ForegroundColor Yellow
}
}
Write-Host "Skript abgeschlossen."
Dieses Skript kann bei Bedarf über Azure Automation oder einen lokalen Task Scheduler regelmäßig ausgeführt werden, um die Ordnerdaten aktuell zu halten.
Power Automate bietet eine cloudbasierte Lösung, um Arbeitsabläufe zu automatisieren. Sie können einen Flow erstellen, der entweder bei jeder Dateiänderung ausgelöst wird oder periodisch (z.B. täglich) alle Ordner überprüft und aktualisiert.
ValidateUpdateListItem aufzurufen.Ein Flow, der auf Dateiänderungen reagiert, könnte effizienter sein, erfordert aber sorgfältige Planung, um Endlosschleifen oder übermäßige Ausführungen zu vermeiden. Ein wiederkehrender Flow ist oft einfacher zu implementieren und zu verwalten.
Alternativ kann in Power Automate auch eine benutzerdefinierte Spalte (z.B. "Inhalt zuletzt geändert") für die Ordner erstellt und durch den Flow aktualisiert werden. Dies ändert nicht das systemeigene "Geändert"-Feld, bietet aber eine zuverlässige alternative Datumsanzeige.
Ordner in einer SharePoint-Bibliothek, deren Änderungsdaten synchronisiert werden sollen.
Theoretisch können Sie das Änderungsdatum eines Ordners manuell über die SharePoint-Benutzeroberfläche anpassen:
Dieser Ansatz ist extrem zeitaufwendig und fehleranfällig bei vielen Ordnern und bietet keine nachhaltige Lösung.
Die Wahl der Methode hängt von Ihren technischen Fähigkeiten, der Komplexität Ihrer Umgebung und Ihren Präferenzen ab. Hier ist ein visueller Vergleich der Hauptmethoden:
Der Chart vergleicht PowerShell-Skripte, Power Automate Flows und manuelle Anpassungen. PowerShell bietet hohe Effektivität und Skalierbarkeit bei mittlerem Implementierungsaufwand. Power Automate ist ebenfalls sehr effektiv und etwas benutzerfreundlicher in der Erstellung, kann aber bei komplexen Logiken an Grenzen stoßen. Manuelle Anpassungen sind nur für Kleinstszenarien denkbar.
Die folgende Mindmap illustriert die Problemstellung und die verschiedenen Lösungsansätze zur Korrektur des Ordnerdatums in SharePoint.
Diese Mindmap zeigt, dass automatisierte Methoden wie PowerShell und Power Automate die bevorzugten Wege sind, um das Problem des Ordnerdatums anzugehen, während manuelle Methoden stark eingeschränkt sind.
Das Verständnis, wie SharePoint-Ereignisse als Trigger für Automatisierungen genutzt werden können, ist fundamental für die Implementierung von Lösungen mit Power Automate. Das folgende Video erläutert den SharePoint-Trigger "Wenn eine Datei erstellt oder geändert wird", der als Basis für einen Flow zur Aktualisierung von Ordnerdaten dienen kann.
Dieses Video erklärt, wie der SharePoint-Trigger "Wenn eine Datei erstellt oder geändert wird" in Power Automate funktioniert und wie Sie ihn für Ihre Automatisierungen nutzen können.
Obwohl das Video sich auf Datei-Trigger konzentriert, ist das Prinzip auf Ordner übertragbar, indem man die Logik des Flows entsprechend anpasst, um nach einer Dateiänderung den übergeordneten Ordner zu identifizieren und dessen Metadaten zu aktualisieren.
Die folgende Tabelle fasst die wichtigsten Vor- und Nachteile der beiden empfohlenen automatisierten Lösungen zusammen:
| Kriterium | PowerShell (PnP) Skript | Power Automate (Flow) |
|---|---|---|
| Vorteile |
|
|
| Nachteile |
|
|
| Empfohlen für | Administratoren und Entwickler mit Skripting-Erfahrung; umfangreiche, einmalige Korrekturen oder komplexe, regelmäßige Wartungsaufgaben. | Power User und Entwickler, die schnelle, cloud-native Automatisierungen erstellen möchten; Szenarien, in denen eine ereignisgesteuerte Logik von Vorteil ist. |
-SystemUpdate (z.B. Set-PnPListItem -SystemUpdate) oder bei sorgfältiger Nutzung der SharePoint REST API via Power Automate kann das Datum geändert werden, ohne den "Geändert von"-Benutzer zu ändern oder eine neue Version des Ordners zu erstellen.Die Diskrepanz zwischen dem angezeigten Ordnerdatum in SharePoint und dem tatsächlichen letzten Bearbeitungsdatum des Inhalts ist ein bekanntes Phänomen. Glücklicherweise lässt es sich mit den richtigen Werkzeugen beheben. Für umfangreiche Ordnerstrukturen sind automatisierte Ansätze mittels PowerShell (PnP) oder Power Automate die praktikabelsten und nachhaltigsten Lösungen. PowerShell bietet maximale Flexibilität und Kontrolle, erfordert aber technisches Know-how. Power Automate ist benutzerfreundlicher und gut für cloud-native Automatisierungen geeignet. Manuelle Anpassungen sind für dieses Problem keine realistische Option. Unabhängig von der gewählten Methode ist sorgfältiges Testen unerlässlich.