param( [string]$RelayUrl = "http://127.0.0.1:4173", [int]$IntervalSeconds = 60 ) $ErrorActionPreference = "Stop" $ScriptPath = Join-Path $PSScriptRoot "relay-client.ps1" $TaskName = "AllReach Agent Heartbeat" $Arguments = "-NoProfile -ExecutionPolicy Bypass -File `"$ScriptPath`" -RelayUrl `"$RelayUrl`" -IntervalSeconds $IntervalSeconds -InstallMode `"scheduled-task`"" $Action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument $Arguments $Trigger = New-ScheduledTaskTrigger -AtLogOn $Principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType Interactive -RunLevel LeastPrivilege $Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries Register-ScheduledTask ` -TaskName $TaskName ` -Action $Action ` -Trigger $Trigger ` -Principal $Principal ` -Settings $Settings ` -Force | Out-Null Write-Host "Installed scheduled task '$TaskName'. Pair once before relying on automatic heartbeat startup."