Adobe-Stamps-Backup.ps1: Log-Funktion integriert, Write-Warning/Write-Host durch Write-Log ersetzt
This commit is contained in:
parent
a117af53de
commit
09d8cf3a75
@ -4,6 +4,8 @@
|
|||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
Kopiert den gesamten Inhalt des Adobe Stamps-Ordners (inkl. Unterordner wie Dynamic)
|
Kopiert den gesamten Inhalt des Adobe Stamps-Ordners (inkl. Unterordner wie Dynamic)
|
||||||
in einen Zielordner. Die Struktur wird als "StampsBackup" abgelegt.
|
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
|
.PARAMETER TargetPath
|
||||||
Zielordner, in den die Sicherung geschrieben wird. Wird erstellt, falls nicht vorhanden.
|
Zielordner, in den die Sicherung geschrieben wird. Wird erstellt, falls nicht vorhanden.
|
||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
@ -14,6 +16,30 @@ param (
|
|||||||
[string]$TargetPath
|
[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)
|
# Standardpfad zu den Adobe Acrobat Custom Stamps (Roaming / AppData)
|
||||||
# Entspricht %AppData%\Adobe\Acrobat\DC\Stamps
|
# Entspricht %AppData%\Adobe\Acrobat\DC\Stamps
|
||||||
$adobeStampsPath = Join-Path $env:APPDATA "Adobe\Acrobat\DC\Stamps"
|
$adobeStampsPath = Join-Path $env:APPDATA "Adobe\Acrobat\DC\Stamps"
|
||||||
@ -21,33 +47,32 @@ $adobeStampsPath = Join-Path $env:APPDATA "Adobe\Acrobat\DC\Stamps"
|
|||||||
# Ziel-Unterordner innerhalb von TargetPath
|
# Ziel-Unterordner innerhalb von TargetPath
|
||||||
$backupFolder = Join-Path $TargetPath "StampsBackup"
|
$backupFolder = Join-Path $TargetPath "StampsBackup"
|
||||||
|
|
||||||
# 1. Pruefen, ob der Quellordner (Adobe Stamps) existiert
|
# 1. Prüfen, ob der Quellordner (Adobe Stamps) existiert
|
||||||
if (-not (Test-Path $adobeStampsPath)) {
|
if (-not (Test-Path $adobeStampsPath)) {
|
||||||
Write-Warning "Der Adobe Stamps-Ordner wurde unter '$adobeStampsPath' nicht gefunden."
|
Write-Log "Der Adobe Stamps-Ordner wurde unter '$adobeStampsPath' nicht gefunden." "WARN"
|
||||||
Write-Warning "Falls noch keine eigenen Stempel erstellt wurden, existiert der Ordner noch nicht."
|
Write-Log "Falls noch keine eigenen Stempel erstellt wurden, existiert der Ordner noch nicht." "WARN"
|
||||||
Write-Warning "Erstelle eine Test-Marke in Adobe Acrobat -> Kommentar -> Stempel -> Eigene Stempel,"
|
Write-Log "Erstelle eine Test-Marke in Adobe Acrobat -> Kommentar -> Stempel -> Eigene Stempel, damit der Ordner generiert wird, und wiederhole den Vorgang." "WARN"
|
||||||
Write-Warning "damit der Ordner generiert wird, und wiederhole den Vorgang."
|
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# 2. Zielpfad erstellen, falls nicht vorhanden
|
# 2. Zielpfad erstellen, falls nicht vorhanden
|
||||||
if (-not (Test-Path $backupFolder)) {
|
if (-not (Test-Path $backupFolder)) {
|
||||||
New-Item -Path $backupFolder -ItemType Directory -Force | Out-Null
|
New-Item -ItemType Directory -Path $backupFolder -Force | Out-Null
|
||||||
Write-Host "Der Sicherungsordner '$backupFolder' wurde erstellt."
|
Write-Log "Der Sicherungsordner '$backupFolder' wurde erstellt."
|
||||||
}
|
}
|
||||||
|
|
||||||
# 3. Alle Stempel (PDF-Dateien und Unterordner) kopieren
|
# 3. Alle Stempel (PDF-Dateien und Unterordner) kopieren
|
||||||
try {
|
try {
|
||||||
# -Recurse kopiert Unterordner wie Dynamic, Droplist etc. mit
|
# -Recurse kopiert Unterordner wie Dynamic, Droplist etc. mit
|
||||||
Copy-Item -Path $adobeStampsPath\* -Destination $backupFolder -Force -Recurse -ErrorAction Stop
|
Copy-Item -Path "$adobeStampsPath\*" -Destination $backupFolder -Force -Recurse -ErrorAction Stop
|
||||||
|
|
||||||
# Anzahl der kopierten Dateien zaehlen fuer Rueckmeldung
|
# Anzahl der kopierten Dateien zählen für Rückmeldung
|
||||||
$fileCount = (Get-ChildItem -Path $backupFolder -Recurse -File).Count
|
$fileCount = (Get-ChildItem -Path $backupFolder -Recurse -File).Count
|
||||||
|
|
||||||
Write-Host "Erfolgreich alle Adobe Stempel aus '$adobeStampsPath' nach '$backupFolder' gesichert."
|
Write-Log "Erfolgreich alle Adobe Stempel aus '$adobeStampsPath' nach '$backupFolder' gesichert."
|
||||||
Write-Host "Kopierte Dateien: $fileCount"
|
Write-Log "Kopierte Dateien: $fileCount"
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
Write-Error "Fehler bei der Sicherung der Adobe Stempel: $_"
|
Write-Log "Fehler bei der Sicherung der Adobe Stempel: $_" "ERROR"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user