如何在Windows中更改默认的计划任务进程优先级

时间:2017-11-09 09:10:52

标签: windows powershell gpo domaincontroller

我已经检查了一段时间了。我们有一个创建计划任务的脚本,似乎在网络的许多地方都有描述,这个过程及其后代接收的任务优先级是7:BelowNormal

现在这导致我们想要避免的测试环境中的许多问题

这里的问题是我是否可以创建一个GPO来覆盖Windows的默认计划任务优先级,以便所有新的计划任务都将获得优先级X(在我的情况下X为“正常”)

我知道有一个选项可以在创建时设置计划任务优先级,但我想避免这样做,因此每个新任务都有正确的默认优先级,而不是低于正常值的

提前致谢

2 个答案:

答案 0 :(得分:3)

您可以通过添加设置选项

来编辑现有任务
$currentTask = Get-ScheduledTask -TaskName $taskName 
$settings = New-ScheduledTaskSettingsSet
$settings.Priority = 4
Set-ScheduledTask -TaskName $taskName -Trigger $currentTask.Triggers -Action $currentTask.Actions -Settings $settings -User "user" -Password "pass"

答案 1 :(得分:0)

另一种无需使用powershell的方式:

  1. 从GUI导出任务:在任务计划程序中,右键单击任务并选择“导出…”,然后将导出的任务保存在文件中

  2. 更改优先级
    2.1在文本编辑器(如记事本)中打开文件。这是定义任务的XML。每个动作都会有一个小节,其中包含,其中包含一个元素。
    2.2更改值。 “低于正常”的默认值是7。“正常”优先级可以使用6、5或4。您通常不希望超出“正常”水平。 6可能会为您工作。
    2.3保存文件(例如,“ c:\ mytask.xml”)

  3. 使用命令行/ schtasks导入任务:
    schtasks /DELETE /tn "\TASKSCHEDULER-FOLDER-PATH\TASK-IMPORT-NAME"(您需要先删除现有任务,然后使用schtasks从命令行创建一个新任务)
    schtasks /create /xml "c:\mytask.xml" /tn "\TASKSCHEDULER-FOLDER-PATH\TASK-IMPORT-NAME"

我有220台机器来做,所以我是这样做的。由于所有机器都具有相同的配置,因此我可以将相同的XML文件复制到所有机器上,然后基于XML重新创建计划的任务。 有关不同优先级here的更多详细信息,请参见。该答案基于this文章。