Windows-Server-2008-R2
使用 WMIC 停止計劃任務
我需要找到一些方法來禁用遠端機器上的計劃任務,並等待該任務停止執行(如果它恰好正在執行)。如果可能的話,我想通過 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
將立即終止任務。