Wie man Files am lokalen Fileshare, welche mit ShareGate aus O365 migriert werden, mit den korrekten Änderungsdaten erstellt/geändert versieht.

Viele kennen es, wieder einmal eine Migration – wieder einmal das Problem mit nicht übernommenen Attributen.

In diesem Fall, eine ShareGate Migration von O365 auf ein lokales FileShare. Aber die Dateiattribute erstellt & geändert, sind vom Zeitpunkt der Migration selbst und spiegeln nicht den letzten Bearbeitungsstatus wieder.

Hierfür gibt es aber Abhilfe!
Im folgenden zeigen wir ein simples Code-Snippet, welches mittels dem aus ShareGate exportierten CSV die originalen Änderungsdaten erstellt/geändert an den lokalen Files setzt.

Das aus ShareGate exportierte CSV mit created und modified

ShareGate created modified CSV

 

Dieses File enthält die notwendigen Attribute. Mit Powershell ist es ein leichtes diese zu iterieren und an den lokalen Files neu zu setzen.

Das Powershell Code Snippet, welches die erstellt und geändert Attribute auf ShareGate Files setzt

$csv = Import-Csv "E:\Export\ShareGateAttributes.csv" -Delimiter ';'
$RootFolder = "E:\ShareGate Export\"

#Process the Line that's currently in the pipeline
$csv | ForEach-Object{
    
    #Correct ShareGate URL folder format    
    $filePath = $RootFolder + $_.DestinationPath.Replace("/","\")

    #Modifiy local created/modified according to CSV
    try
    {
        $(Get-Item $filePath).creationtime = $(Get-Date $_.Created)
        $(Get-Item $filePath).lastwritetime = $(Get-Date $_.Modified)
    }
    catch
    {
        Write-Error $_ -BackgroundColor Red
    }
}

Mit Hilfe dieser paar Zeilen, in einem Powershell passiert die ganze Magie.
Hier erfolgt die Zuweisung der O365 ShareGate Export-Files der erstellt und geändert Daten.

Zur Funktionsweise:
Ein Import liest das ShareGate CSV ein. Danach erkennt Powershell bereits die Spalten im Header selbstständig und stellt diese im Objekt bereit.
Mittels ForEach liest man Zeile für Zeile aus, holt sich das entsprechend lokale File und setzt die erstellt und geändert Daten.

Et viola, fertig!