Typische Einsatzfaelle
Herstellerdateien nach der Installation an den richtigen Ort bringen, Vorlagen verteilen, Konfigurationen nachziehen, Detection-Hilfsdateien schreiben oder Caches fuer spaetere Schritte aufbauen.
Deployment Artikel
Die Funktion ist besonders dann stark, wenn Dateien nicht nur kopiert, sondern betriebsfest behandelt werden muessen: mit Logging, Rueckgabewerten, Warnungen und klarer Trennung zwischen Erfolg, Skip und Fehler.
Herstellerdateien nach der Installation an den richtigen Ort bringen, Vorlagen verteilen, Konfigurationen nachziehen, Detection-Hilfsdateien schreiben oder Caches fuer spaetere Schritte aufbauen.
Weil du am Ende nicht raten musst, was passiert ist. Die Funktion liefert Zahlen, Warnungen, Skip-Informationen und einen klaren Success-Status.
$copyResult = Copy-WithProgress `
-CopySource "$dirFiles\SupportFiles" `
-CopyDestination "$env:ProgramData\Company\App" `
-LogFile $logFile `
-OnlyIfChanged
if (-not $copyResult.Success) {
throw "Dateikopie fehlgeschlagen: $($copyResult.Message)"
}
Write-Log -Path $logFile -Component 'PostInstall' -Type Info -Message (
"Kopiert: {0}, Uebersprungen: {1}, Bytes: {2}" -f
$copyResult.FilesCopied,
$copyResult.FilesSkipped,
$copyResult.BytesCopiedReadable
)
Die Funktion passt gut in Pre-Install-, Install- oder Post-Install-Phasen, weil sie ein Ergebnisobjekt zurueckgibt und sich damit sauber in Toolkit-Logik integrieren laesst.
Wenn Dateikopien Bestandteil des Paketierungsprozesses sind, brauchst du nachvollziehbare Logs und einen klaren Fehlerzustand. Genau das liefert die Funktion.
Dass die Funktion Zeitstempelprobleme nicht still verschweigt, sondern als Warnungen sammelt, ist fuer Betrieb und spaetere Analyse ein echter Vorteil.
Die Funktion ist nicht nur ein Kopierhelfer, sondern ein kontrollierter Deployment-Baustein. Das unterscheidet sie von vielen schnellen Ad-hoc-Skripten.