# Starts the dasci WSL distro (Docker and gitea-runner inside) when Windows # boots, without anyone logging in. Run once in an elevated PowerShell. # The task keeps a process attached so WSL never stops the distro as idle. $wsl = 'C:\Program Files\WSL\wsl.exe' $action = New-ScheduledTaskAction -Execute $wsl -Argument '-d dasci --exec /bin/sleep infinity' $trigger = New-ScheduledTaskTrigger -AtStartup $principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType S4U -RunLevel Highest $settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit 0 -AllowStartIfOnBatteries ` -DontStopIfGoingOnBatteries -RestartCount 999 -RestartInterval (New-TimeSpan -Minutes 1) Register-ScheduledTask -TaskName 'DasOS CI (WSL dasci)' -Action $action -Trigger $trigger ` -Principal $principal -Settings $settings -Force | Out-Null Get-ScheduledTask -TaskName 'DasOS CI (WSL dasci)' | Select-Object TaskName, State