<# .SYNOPSIS Registriert GerbilManager als Windows-Autostart (geplante Aufgabe bei Benutzeranmeldung). .DESCRIPTION Erstellt eine geplante Aufgabe, die Start-GerbilManager.ps1 automatisch startet, wenn sich der aktuelle Benutzer anmeldet. Erfordert Administratorrechte. .NOTES Erfordert: PowerShell als Administrator ausfuehren Aufgabenname: GerbilManager AutoStart #> #Requires -RunAsAdministrator Set-StrictMode -Version Latest $ErrorActionPreference = "Stop" $taskName = "GerbilManager AutoStart" $scriptPath = Join-Path $PSScriptRoot "Start-GerbilManager.ps1" $projectRoot = Resolve-Path (Join-Path $PSScriptRoot "..\..") if (-not (Test-Path $scriptPath)) { Write-Error "Startskript nicht gefunden: $scriptPath" exit 1 } Write-Host "Registriere geplante Aufgabe '$taskName'..." $action = New-ScheduledTaskAction ` -Execute "powershell.exe" ` -Argument "-NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -File `"$scriptPath`"" ` -WorkingDirectory $projectRoot $trigger = New-ScheduledTaskTrigger -AtLogOn -User $env:USERNAME $settings = New-ScheduledTaskSettingsSet ` -ExecutionTimeLimit (New-TimeSpan -Hours 0) ` -RestartCount 3 ` -RestartInterval (New-TimeSpan -Minutes 2) ` -StartWhenAvailable ` -MultipleInstances IgnoreNew $principal = New-ScheduledTaskPrincipal ` -UserId $env:USERNAME ` -LogonType Interactive ` -RunLevel Highest # Vorhandene Aufgabe entfernen, falls noetig Unregister-ScheduledTask -TaskName $taskName -Confirm:$false -ErrorAction SilentlyContinue Register-ScheduledTask ` -TaskName $taskName ` -Action $action ` -Trigger $trigger ` -Settings $settings ` -Principal $principal ` -Description "Startet GerbilManager (Rennmaus-Verwaltung) automatisch bei der Benutzeranmeldung." ` -Force | Out-Null Write-Host "Aufgabe registriert: '$taskName'" Write-Host "GerbilManager startet ab sofort automatisch beim Anmelden." Write-Host "" Write-Host "Aufgabe pruefen : Get-ScheduledTask -TaskName '$taskName'" Write-Host "Aufgabe entfernen: Unregister-ScheduledTask -TaskName '$taskName' -Confirm:`$false"