任務排程器在空閒任務時未觸發 Windows 7

任務排程器在空閒任務時未觸發 Windows 7

我使用了任務規劃程式並建立了一個新任務,新增了一個觸發器,將其設為 event: on Idle 並建立了該任務。在條件標籤中,指定任務等待 1 分鐘才能變為空閒狀態(而不是僅等待 10 分鐘進行測試)。

但我等待了10多分鐘,任務從未在PC1上觸發,但在另一台PC2上觸發。另外,如果我在任務規劃程式中按“運行”,任務會在 PC2 中正常運行,只是閒置 1 分鐘時不會自動觸發。我在網上檢查過,發現它PowerCfg -requests會顯示是什麼阻止了 PC 處於空閒狀態,當我在 PC2 上運行它時,沒有任何返回,但當我在 PC1 上運行它時,我得到了這個“舊版內核呼叫程式“ 司機。

所以我使用了Powercfg -requestsoverride,但是當我運行時powercfg -requestsoverride Driver "Legacy Kernel Caller" System,它成功了,我在Powercfg -requestsoverride列表中找到了它,但powercfg -requests它仍然顯示[DRIVER] Legacy Kernel Caller在下面SYSTEM:,並且任務從未觸發,請問有什麼建議嗎?

以下是我的計劃任務在任務計劃程序中的外觀:

在此輸入影像描述

在此輸入影像描述

在此輸入影像描述

在此輸入影像描述

在此輸入影像描述

這也是我的任務的 xml:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2019-11-20T15:43:06.6081219</Date>
    <Author>MyPC\MyUser</Author>
    <URI>\MyAppIdleTask</URI>
  </RegistrationInfo>
  <Triggers>
    <IdleTrigger>
      <Enabled>true</Enabled>
    </IdleTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>S-1-5-21-1004336348-1177238915-682003330-385281</UserId>
      <LogonType>InteractiveToken</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <Duration>PT1M</Duration>
      <WaitTimeout>PT0S</WaitTimeout>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>true</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\MyWinFormApp\MyWinForm.exe</Command>
    </Exec>
  </Actions>
</Task>

答案1

安排任務時需要注意幾件事。

我發現的主要問題之一是時機。

例如,假設現在是 0018h,您安排一個任務在每天 0000h 每 5 分鐘運行一次。您進行所有設置,輸入所有條件,測試啟動任務,一切都很好,但即使滿足條件,任務也不會啟動。發生這種情況是因為超出了時間表。它只會在下一個 0000h 開始。因此,如果它是 0018h,並且您確實希望看到任務正常運行,請將其放在稍後的時間,例如 0024h,並確保在配置它時不會超過設定的時間。

然後,您可以確保其他條件良好,例如與電源狀態、網路可用性、成功狀態相關的條件。

另一個非常重要的方面:確保用於運行它的憑證具有足夠的權限來實際運行它。該部分更容易檢查,因為您可以手動測試它。

相關內容