To delete a scheduled task in Windows, use the Unregister-ScheduledTask cmdlet in PowerShell. This command unregisters the scheduled task. It prompts for confirmation to perform the delete operation on the task.
Unregister-ScheduledTask -TaskName "UserTask"
Unregister-ScheduledTask removes a scheduled task from the Windows Task scheduler service on a local computer or the remote computer using the CimSession
object.
In this article, we will discuss how to delete scheduled tasks using the PowerShell command.
PowerShell Remote Scheduled Task using Unregister-ScheduledTask
Use the PowerShell cmdlet Unregister-ScheduledTask to unregister a task from the Task Scheduler service.
Unregister-ScheduledTask -TaskName "Remove Log File Task"
The Unregister-ScheduledTask command in PowerShell uses the TaskName
parameter to delete a scheduled task name.
It will prompt for confirmation to delete the scheduled task, and confirm Y to perform the action.
The output of the above PowerShell script to remove scheduled tasks is:
PS C:\> Unregister-ScheduledTask -TaskName "Remove Log File Task"
Confirm
Are you sure you want to perform this action? Performing operation 'Delete' on Target '\Remove Log File Task'. [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Y
PS C:\>
To suppress the confirmation prompt, use the -Confirm:$false
Unregister-ScheduledTask -TaskName "Remove Log File Task" -Confirm:$false
Delete Scheduled Task in PowerShell
If you run the Unregister-ScheduledTask command to delete a scheduled task that doesn’t exist, it will throw an exception. Check if the task exists using the Get-ScheduledTask cmdlet in PowerShell.
# Use the Get-ScheduledTask to get task details $task = Get-ScheduledTask | Where-Object {$_.TaskName -eq "Remove Log File Task"} | Select-Object -First 1 if($task -ne $null){ Unregister-ScheduledTask $task.TaskName -Confirm:$false } else { Write-Host "Scheduled task doesn't exist." }
In the above PowerShell script, the Get-ScheduledTask cmdlet retrieves the scheduled task details. This command uses the Where-Object
condition to check if the task name is equal to the specified task name and selects the first object and store it in the $task
variable.
If statement checks for the $task
variable value if it contains the scheduled task or is it empty. If it contains the task, it returns the true value and executes the Unregister-ScheduledTask command to delete a task, else it prints the message “Scheduled task doesn't exist.
“
The output of the above PowerShell script is:
PS C:\> $task = Get-ScheduledTask | Where-Object {$_.TaskName -eq "Remove Log File Task"} | Select-Object -First 1
PS C:\> $task
PS C:\> if($task -ne $null){Unregister-ScheduledTask -TaskName $task.TaskName -Confirm:$false} else {Write-Host "Scheduled task doesn't exist."}
Scheduled task doesn't exist.
PS C:\>
Conclusion
I hope the above article on how to delete a scheduled task in PowerShell using the Unregister-ScheduledTask command is helpful to you.
You can find more topics about PowerShell Active Directory commands and PowerShell basics on the ShellGeek home page.