Is there an easy way to have WSL Ubuntu services start automatically on Windows startup?

This also works on WSL 2.

Solution 1: use VBE script

Click on Start and search for shell:startup. also you can go manually to:

C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

now create a new file sshserver.vbe and add this text and save:

Set ws = CreateObject("Wscript.Shell") 
ws.run "wsl -d Ubuntu -u root service ssh start", vbhide

Solution 2: Task Scheduler

Click on Start and search for Task Scheduler.

  1. On Task Scheduler click on Action and select Create Basic Task

    enter image description here

  2. On Create Basic Task Fill out Name and Description "Auto Start SSH server"

    create Basic Task

  3. On Trigger select: When the computer starts.

    Trigger

  4. On Action select Start a program

    Action

  5. On Start a Program type path: C:\Windows\System32\wsl.exe, next on add Add arguments (optional): -d Ubuntu -u root service ssh start.

    Start a Program

You should have something like this on the last step.

finish