Setup-SynologyDriveUpdate.bat aktualisiert

This commit is contained in:
manuel.maier committed 2026-08-20 17:29:38 +02:00
1 parent 24fb3bb640
commit c91c5d5527
1 file changed
+13 -3
+13 -3
View File
@@ -10,17 +10,27 @@ if %errorlevel% neq 0 (
exit /b exit /b
) )
echo Richte Aufgabenplanung (Scheduled Task) als SYSTEM ein... echo.
echo ===================================================
echo Synology Drive - Auto-Updater Einrichtung
echo ===================================================
echo.
echo Richte Aufgabenplanung (Scheduled Task) im User-Kontext ein...
set "ps_script=%temp%\setup_synology_task.ps1" set "ps_script=%temp%\setup_synology_task.ps1"
:: 2. PowerShell-Logik in temporaere Datei schreiben :: 2. PowerShell-Logik in temporaere Datei schreiben
echo $TaskName = 'SynologyDrive_AutoUpdate' > "%ps_script%" echo $TaskName = 'SynologyDrive_AutoUpdate' > "%ps_script%"
echo $Action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-WindowStyle Hidden -NoProfile -Command "Start-Process winget.exe -ArgumentList ''upgrade -e --id Synology.DriveClient --accept-package-agreements --accept-source-agreements --silent'' -WindowStyle Hidden -Wait"' >> "%ps_script%" echo $Action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-WindowStyle Hidden -NoProfile -Command "Start-Process winget.exe -ArgumentList ''upgrade -e --id Synology.DriveClient --accept-package-agreements --accept-source-agreements --silent'' -WindowStyle Hidden -Wait"' >> "%ps_script%"
echo $Trigger = New-ScheduledTaskTrigger -AtLogon >> "%ps_script%" echo $Trigger = New-ScheduledTaskTrigger -AtLogon >> "%ps_script%"
echo $Principal = New-ScheduledTaskPrincipal -UserId 'SYSTEM' -LogonType ServiceAccount -RunLevel Highest >> "%ps_script%"
:: HIER DIE AENDERUNG:
:: Statt 'SYSTEM' nutzen wir die SID der lokalen Administratoren-Gruppe (S-1-5-32-544)
:: Das verhindert Sprachprobleme (Administrators vs Administratoren) und nutzt den User-Kontext inkl. Winget!
echo $Principal = New-ScheduledTaskPrincipal -GroupId 'S-1-5-32-544' -RunLevel Highest >> "%ps_script%"
echo $Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -Hidden -StartWhenAvailable -ExecutionTimeLimit (New-TimeSpan -Minutes 15) >> "%ps_script%" echo $Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -Hidden -StartWhenAvailable -ExecutionTimeLimit (New-TimeSpan -Minutes 15) >> "%ps_script%"
echo Register-ScheduledTask -TaskName $TaskName -Action $Action -Trigger $Trigger -Principal $Principal -Settings $Settings -Force ^| Out-Null >> "%ps_script%" echo Register-ScheduledTask -TaskName $TaskName -Action $Action -Trigger $Trigger -Principal $Principal -Settings $Settings -Force ^| Out-Null >> "%ps_script%"
echo Write-Host 'Task "SynologyDrive_AutoUpdate" erfolgreich angelegt!' -ForegroundColor Green >> "%ps_script%" echo Write-Host '[OK] Task "SynologyDrive_AutoUpdate" erfolgreich im Admin-User-Kontext angelegt!' -ForegroundColor Green >> "%ps_script%"
:: 3. PowerShell-Script ausfuehren :: 3. PowerShell-Script ausfuehren
powershell -NoProfile -ExecutionPolicy Bypass -File "%ps_script%" powershell -NoProfile -ExecutionPolicy Bypass -File "%ps_script%"