<# .SYNOPSIS Sichert alle Adobe Acrobat Stempel (Custom Stamps) des aktuellen Benutzers. .DESCRIPTION Kopiert den gesamten Inhalt des Adobe Stamps-Ordners (inkl. Unterordner wie Dynamic) in einen Zielordner. Die Struktur wird als "StampsBackup" abgelegt. Ein detaillierter Log wird in einer Datei "Adobe-Stamps-Backup.log" imselben Verzeichnis wie die Sicherung gespeichert. .PARAMETER TargetPath Zielordner, in den die Sicherung geschrieben wird. Wird erstellt, falls nicht vorhanden. .EXAMPLE .\Adobe-Stamps-Backup.ps1 -TargetPath "D:\Sicherung\AdobeStamps" #> param ( [Parameter(Mandatory=$true)] [string]$TargetPath ) # Funktion: Schreibt eine Log-Zeile mit Zeitstempel in die Log-Datei und auf die Konsole function Write-Log { param ( [string]$Message, [string]$Level = "INFO" ) $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss" $logEntry = "$timestamp [$Level] $Message" # Log-Datei imselben Verzeichnis wie die Sicherung $logFile = Join-Path $TargetPath "Adobe-Stamps-Backup.log" # Stelle sicher, dass das Zielverzeichnis existiert if (-not (Test-Path $TargetPath)) { New-Item -ItemType Directory -Path $TargetPath -Force | Out-Null } # Schreibe in die Log-Datei (anhängen) Add-Content -Path $logFile -Value $logEntry # Gib auch auf der Konsole aus switch ($Level) { "WARN" { Write-Host $logEntry -ForegroundColor Yellow } "ERROR" { Write-Host $logEntry -ForegroundColor Red } default { Write-Host $logEntry -ForegroundColor Green } } } # Standardpfad zu den Adobe Acrobat Custom Stamps (Roaming / AppData) # Entspricht %AppData%\Adobe\Acrobat\DC\Stamps $adobeStampsPath = Join-Path $env:APPDATA "Adobe\Acrobat\DC\Stamps" # Ziel-Unterordner innerhalb von TargetPath $backupFolder = Join-Path $TargetPath "StampsBackup" # 1. Prüfen, ob der Quellordner (Adobe Stamps) existiert if (-not (Test-Path $adobeStampsPath)) { Write-Log "Der Adobe Stamps-Ordner wurde unter '$adobeStampsPath' nicht gefunden." "WARN" Write-Log "Falls noch keine eigenen Stempel erstellt wurden, existiert der Ordner noch nicht." "WARN" Write-Log "Erstelle eine Test-Marke in Adobe Acrobat -> Kommentar -> Stempel -> Eigene Stempel, damit der Ordner generiert wird, und wiederhole den Vorgang." "WARN" exit 1 } # 2. Zielpfad erstellen, falls nicht vorhanden if (-not (Test-Path $backupFolder)) { New-Item -ItemType Directory -Path $backupFolder -Force | Out-Null Write-Log "Der Sicherungsordner '$backupFolder' wurde erstellt." } # 3. Alle Stempel (PDF-Dateien und Unterordner) kopieren try { # -Recurse kopiert Unterordner wie Dynamic, Droplist etc. mit Copy-Item -Path "$adobeStampsPath\*" -Destination $backupFolder -Force -Recurse -ErrorAction Stop # Anzahl der kopierten Dateien zählen für Rückmeldung $fileCount = (Get-ChildItem -Path $backupFolder -Recurse -File).Count Write-Log "Erfolgreich alle Adobe Stempel aus '$adobeStampsPath' nach '$backupFolder' gesichert." Write-Log "Kopierte Dateien: $fileCount" } catch { Write-Log "Fehler bei der Sicherung der Adobe Stempel: $_" "ERROR" exit 1 }