Autmatisierte Aktualisierung des Bestandes
Es besteht die Möglichkeit mittels eines weiteren Skriptes eine Automatisierung des Uploads zu realisieren. Durch das Skript wird eine Aufgabe im Windows Aufgabenplaner erstellt, die das Upload-Skript täglich automatisch ausführt.
Automatisierung durch Windows Aufgabenplaner
Das folgende Skript für PowerShell ISE erstellt eine Automatisierung durch den Windows Aufgabenplaner, so muss ein Upload nicht mehr manuell gestartet werden.
PowerShell Skript (.ps1)
# Dieses Skript erstellt eine geplante Aufgabe, die täglich um 8:00 Uhr das Upload-Skript ausführt.
# Pfad zum Upload-Skript (bitte anpassen)
$uploadSkript = "C:\Users\BeispielName\BeispielOrt\Ordner\Beispiel_Upload_Skript.ps1"
# Name der geplanten Aufgabe (Name kann frei gewählt werden)
$taskName = "CSVUpload_Täglich_8Uhr"
# Uhrzeit des täglichen Starts (24-Stunden-Format)
$startTime = "08:00"
# --- Erstellen der Aufgabe ---
# Definiere die Aktion: Starte PowerShell, um das Upload-Skript auszuführen.
# Es wird ohne Profil und mit Bypass-ExecutionPolicy gestartet, damit eventuelle Richtlinien keine Ausführung verhindern.
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NoProfile -ExecutionPolicy Bypass -File `"$uploadSkript`""
# Definiere den Trigger: Täglich um die angegebene Uhrzeit
$trigger = New-ScheduledTaskTrigger -Daily -At $startTime
# Definiere den Benutzerkontext. Hier wird der aktuell angemeldete Benutzer verwendet.
# Falls Du die Aufgabe unter einem anderen Benutzer (z.B. SYSTEM) laufen lassen möchtest, passe den Parameter -UserId entsprechend an.
$principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType Interactive
# Registriere die geplante Aufgabe. Mit dem Parameter -Force wird eine eventuell vorhandene Aufgabe gleichen Namens überschrieben.
try {
Register-ScheduledTask -TaskName $taskName `
-Action $action `
-Trigger $trigger `
-Principal $principal `
-Description "Automatischer CSV-Upload täglich um 8:00 Uhr" `
-Force
Write-Host "Geplante Aufgabe '$taskName' wurde erfolgreich erstellt." -ForegroundColor Green
} catch {
Write-Host "Fehler beim Erstellen der geplanten Aufgabe:" -ForegroundColor Red
Write-Host $_.Exception.Message -ForegroundColor Yellow
}