Windows-Server-2008-R2

使用 WMIC 停止計劃任務

  • February 7, 2014

我需要找到一些方法來禁用遠端機器上的計劃任務,等待該任務停止執行(如果它恰好正在執行)。如果可能的話,我想通過 WMIC 做到這一點。這將被整合到一個更大的批處理過程中。

這是據我所知:

> wmic /node:%SERVER_NAME% /namespace:\\root\cimv2 path Win32_ScheduledJob

但這只是返回:

No Instance(s) Available.

所以我不確定我是否做錯了什麼,或者我是否需要在伺服器上配置一些東西。

似乎WMIC只支持使用WMIC自身創建的作業或使用AT命令創建的作業(source -starting page 205)。

這當然是你得到的原因No Instance(s) Available.

我也是 Powershell 上癮者,但如果這是一個問題,您可以使用schtasks實用程序(如您所提到的)。

要遠端禁用任務:

schtasks /change /disable /TN "task name" /S server_fqdn /U domain\user /P password

禁用任務的優點是您可以確定它會繼續執行直到完成,以防它正在執行(在這種情況下僅禁用未來的執行)。

如果您想等到任務完成,您將不得不等待該過程完成。為避免使用其他第三方工具/命令,您也可以schtasks通過查詢任務狀態來執行此操作:

schtasks /query /TN "task name" /S server_fqdn /U domain\user /P password | finstr Running

(ps:請注意,我不確定“正在執行”狀態,因為我的 Windows 作業系統是法語。請根據您的語言進行檢查)。

schtasks /END將立即終止任務。

引用自:https://serverfault.com/questions/573813