Kopie eines Verzeichnisses erstellen inkl. Hashwerten der Quelle und des Ziels

In der Überschrift steht eigentlich schon alles wichtige.

Ich brauchte für eine bestimmte Dateiquelle, welches Dateien für das Finanzamt erzeugt, ein Script, welches diese kopiert und dann am besten zum Nachweis, dass die Daten nicht verändert wurden, auch gleich einen Hash erzeugt.

Gesagt, getan und da es vielleicht auch für andere Zwecke geeignet ist, einmal hier:

#################################################################
# Datensicherungsscript                                         #
# kopiert alle Daten eines Pfades                               # 
# in einen automatisch erstellten                               # 
# JaRuest                                                       #
# Version 0.8                                                   #
#################################################################
# Variablen welche befüllt werden müssen                        #
# Alle Pfade muessen ohne \ am Ende angegeben werden            #
# Alle Pfade muessen existieren                                 #
# zusaetzlich muss im Arbeitspfad ein Verzeichnis angelegt      #
# welches "Hash_Werte heisst                                    #              
#################################################################
$Arbeit = ''
$Quelle = ''
$Ziel = ''
#################################################################
# Ab hier muss eigentlich nichts mehr veraendert werden         #
# Alle Variablen sind oben gefuellt                             #
#################################################################
$Hashpfad =$Arbeit+'hash_werte\'
$Datum = Get-Date -Format 'dd_MM_yyyy'
$Quelle += '\*'
$Arbeit += '\'
#################################################################
# Zielpfad für die Kopie mit Datum                              #
#################################################################
$zielpfad = $Ziel+'_'+$Datum
md $zielpfad
#################################################################
# Daten kopieren                                                #
#################################################################
Copy-Item $Quelle $zielpfad
#################################################################
#SHA256 Hashes der Quelle erzeugen                              #
#################################################################
$QuellHashes = Get-FileHash $quelle -Algorithm SHA256
$HashOutQuelle = $Hashpfad+$Datum+'_Quelle.log'
$QuellHashes | Sort-Object -Property Path -Descending | Export-CSV $HashoutQuelle -Encoding UTF8 -Delimiter ';'
#################################################################
#SHA256 Hashes des Ziels erzeugen                               #
#################################################################
$ZielHashes = Get-FileHash $zielpfad\* -Algorithm SHA256
$HashOutZiel = $Hashpfad+$Datum+'_Ziel.log'
$ZielHashes | Sort-Object -Property Path -Descending | Export-CSV $HashoutZiel -Encoding UTF8 -Delimiter ';'
#################################################################

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.