deploy/windows/install-task.ps1
Rama master · réplica de lectura del repositorio original.
# 注册开机自启计划任务(登录时触发,隐藏分离进程)。
# 零外部依赖:schtasks + wscript。/rl limited 普通权限即可(端口 3003 免管理员)。
$ErrorActionPreference = 'Stop'
try { [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 } catch { }
$TaskName = 'WindsurfAPI'
$Vbs = (Resolve-Path (Join-Path $PSScriptRoot 'run.vbs')).Path
$Tr = "wscript `"$Vbs`""
# 已存在则先删,保证幂等。
schtasks /query /tn $TaskName 2>$null | Out-Null
if ($LASTEXITCODE -eq 0) {
schtasks /delete /tn $TaskName /f | Out-Null
Write-Host "已移除旧任务 $TaskName" -ForegroundColor Yellow
}
schtasks /create /tn $TaskName /sc onlogon /rl limited /tr $Tr /f
if ($LASTEXITCODE -eq 0) {
Write-Host ''
Write-Host "计划任务 '$TaskName' 已注册:登录 Windows 时自动隐藏后台启动。" -ForegroundColor Green
Write-Host '现在可立即启动一次(无需重登):run-background.bat' -ForegroundColor White
Write-Host '管理:status.bat 看状态,stop.bat 停,uninstall-task.bat 卸载任务。' -ForegroundColor White
} else {
Write-Host "注册计划任务失败(exit=$LASTEXITCODE)。" -ForegroundColor Red
}