Windows OS Hub
  • Windows
    • Windows 11
    • Windows 10
    • Windows Server 2025
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
  • Microsoft
    • Active Directory (AD DS)
    • Group Policies (GPOs)
    • Exchange Server
    • Azure and Microsoft 365
    • Microsoft Office
  • Virtualization
    • VMware
    • Hyper-V
    • Proxmox
  • PowerShell
  • Linux
  • Home
  • About

Windows OS Hub

  • Windows
    • Windows 11
    • Windows 10
    • Windows Server 2025
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
  • Microsoft
    • Active Directory (AD DS)
    • Group Policies (GPOs)
    • Exchange Server
    • Azure and Microsoft 365
    • Microsoft Office
  • Virtualization
    • VMware
    • Hyper-V
    • Proxmox
  • PowerShell
  • Linux

 Windows OS Hub / Windows 11 / How to Set Task Priority in Windows Task Scheduler

September 22, 2026

How to Set Task Priority in Windows Task Scheduler

When running tasks through Task Scheduler in Windows, there is a relatively obscure and often overlooked behavior to be aware of. If a user runs the same resource-intensive task (command or script) once manually from the command prompt (interactively) and once through Task Scheduler, they may notice that the task launched via Task Scheduler takes significantly longer to complete. The reason is that Task Scheduler runs tasks with a low process priority by default. As a result, on high-load computers, such tasks receive less CPU time, execute more slowly, and therefore take longer to complete.

In my case, a Python script launched via Task Scheduler took almost three times longer to complete than when the same script was run manually by the user from the development environment or command line.

To check the priority of a running process, open Task Manager, switch to the Details tab, find the executable process, right-click it, and select Set priority from the context menu.

From here, you can change the current process priority and see which priority is currently assigned to the process. Alternatively, you can add the Base priority column directly to the process list in Task Manager.

The first screenshot shows the python.exe process running a Python script, which was launched via a Task Scheduler task. As you can see, the process is running at a low priority (Below normal).

By default, Task Scheduler runs all tasks with a low priority

If the same Python script is run interactively, it will run with the Normal process priority.

python.exe process starts with a normal priority when the app is running interactively

The low priority assigned to Windows Task Scheduler tasks not only reduces the amount of CPU time available to them, but also lowers the priority of disk I/O operations and memory pages. As a result, processes started via Task Scheduler may run noticeably slower than interactive programs started manually.

It is not possible to change the process priority for a task using the Task Scheduler GUI interface. This option simply does not exist. In previous versions of Windows, it was possible to change the task priority by manually editing the task’s XML configuration file. Let’s look at how to do it.

  1. Open the Task Scheduler MMC snap-in by running taskschd.msc
  2. Right-click the target task and export it to an XML file. Task Scheduler - export task settings to XML
  3. Open the XML file using any text editor. The Priority option shows the current task priority as a numeric value. The default value is 7, which corresponds to Below Normal priority. Increase task Priority in XML file
  4. To increase the process priority for this task, change the value to 5, which corresponds to Above Normal priority.
    Note. Task Scheduler priority values range from 0 to 10, where 0 is the highest priority (Realtime) and 10 is the lowest (Idle / Background).
  5. Save the changes to the XML file, delete the original (source) task from Task Scheduler, and import the modified task from the XML file using Action -> Import Task.
  6. This task will now run with the higher NORMAL_PRIORITY_CLASS process priority when launched through Task Scheduler. Scheduled task now run with normal priority

However, if you edit any of the task’s settings via the Task Scheduler GUI, its priority will be reset to the default low priority (7). Therefore, you will need to export the task to an XML file again, modify its priority, and then re-import it.

Starting with PowerShell 3.0, Windows includes the built-in ScheduledTasks module for managing Task Scheduler tasks. This module contains cmdlets that can be used to manage the priorities of scheduled tasks.

To change the priority of a specific task, specify its name in the following PowerShell script:

$mTaskName= "py_TaskInspect"
$mPriority = New-ScheduledTaskSettingsSet -Priority 5
Set-ScheduledTask -TaskName $mTaskName -Settings $mPriority

PowerShell: Set-ScheduledTask priority

To get a task’s current priority:

$mTaskName= Get-ScheduledTask -TaskName "py_TaskInspect"
$mTaskName.Settings.Priority

Get-ScheduledTask Priority

If you use the New-ScheduledTaskSettingsSet and Set-ScheduledTask cmdlets to change the task priority, the priority will not be reset if you later edit the task settings manually via the TaskĀ Scheduler.

If you deploy a scheduled task to user computers via domain GPOs, you can also change the priority directly in the policy’s XML configuration file, which is stored in the SYSVOL folder. Locate the GPO folder by its ID in SYSVOL and navigate to theĀ Machine or User\Preferences\ScheduledTasks folder.

Open the ScheduledTasks.xml file and edit the Priority parameter value under the <Settings> section.

edit ScheduledTasks.xml file in SYSVOL

0 comment
0
Facebook Twitter Google + Pinterest
PowerShellQuestions and AnswersWindows 11Windows Server 2025
previous post
Re-Enable Command Prompt Blocked by Administrator or Policy in Windows

Related Reading

How to Move (Migrate) Windows Shares to a...

February 26, 2026

SMB over QUIC: Mount File Share over Internet...

December 24, 2025

Monitor Windows Log Files in Real Time with...

March 26, 2026

Security Warnings When Opening RDP Files in Windows...

April 20, 2026

Stop Windows Server from Auto-Shutdown Every Hour

February 11, 2026

Automate Software and Settings Deployment with WinGet Configure...

August 24, 2026

CrowdSec on Windows: From Installation to Threat Blocking

July 6, 2026

Remove the Max Path Length Limit (260-Characters) on...

November 19, 2025

Leave a Comment Cancel Reply

join us telegram channel https://t.me/woshub
Join WindowsHub Telegram channel to get the latest updates!

Recent Posts

  • AutoStart Program at RDP Logon in Windows RDS

    September 8, 2026
  • How to Convert Windows Machine into a Proxmox VM

    August 30, 2026
  • Enable or Disable Fast User Switching in Windows 11

    August 18, 2026
  • How to Hide Wi-Fi Network in Windows with WLAN Filters (Blacklist and Whitelist)

    August 14, 2026
  • Invalid Signature Detected: Check Secure Boot Policy [Fix]

    August 5, 2026
  • Windows Installer Service Could Not Be Accessed? How to Fix It

    July 28, 2026
  • Why Windows Reports No Internet Access: How Connectivity Detection Works

    July 26, 2026
  • Inactive TS Ports in Windows: Causes and Fixes

    July 20, 2026
  • Add Wireless Wi-Fi Profiles on Windows Devices via Export/Import or GPO

    July 13, 2026
  • CrowdSec on Windows: From Installation to Threat Blocking

    July 3, 2026

Follow us

  • Facebook
  • Twitter
  • Youtube
  • Telegram
Popular Posts
  • Run Elevated Commands with Sudo on Windows 11
  • Fix: Slow Startup of PowerShell Console and Scripts
  • Automate Software and Settings Deployment with WinGet Configure (DSC)
  • How to Hide (Block) a Specific Windows Update
  • Pin and Unpin Apps to Taskbar in Windows 11 via PowerShell
  • Enable/Disable Random Hardware (MAC) Address for Wi-Fi on Windows
  • How to Pause (Delay) Update Installation on Windows 11 and 10
Footer Logo

@2014 - 2026 - Windows OS Hub. All about operating systems for sysadmins


Back To Top