PowerShell scheduled job not running at startup

When using the New-JobTrigger cmdlet to create a startup trigger it's a good idea to specify a random delay period of 30 seconds or more to avoid conflicts at startup. This will also help ensure a greater chance of success for the job.

$trigger = New-JobTrigger -AtStartup -RandomDelay 00:00:30

You also want to check the status of your job once you've restarted and logged back in with the Get-Job cmdlet.