PowerShell scheduled jobs are a useful background jobs and Windows Task Scheduler tasks.
PS C:\Users> Import-Module PSScheduledJob
(Get-Module PSScheduledJob).ExportedCommands.Keys
Add-JobTrigger
Disable-JobTrigger
Disable-ScheduledJob
Enable-JobTrigger
Enable-ScheduledJob
Get-JobTrigger
Get-ScheduledJob
Get-ScheduledJobOption
New-JobTrigger
New-ScheduledJobOption
Register-ScheduledJob
Remove-JobTrigger
Set-JobTrigger
Set-ScheduledJob
Set-ScheduledJobOption
Unregister-ScheduledJob
Scheduled jobs have a ton of capability, like triggering when the battery status changes, when the network is connected, when the system is idle, and much more. Keep an eye out for lots of functionality from the PowerShell community in this area.