我需要找到一种方法来禁用远程计算机上的计划任务,并等待该任务在此时正好运行时已停止执行.如果可能的话,我想通过WMIC这样做.这将集成到更大的批处理过程中.
这是我得到的:
> wmic /node:%SERVER_NAME% /namespace:\\root\cimv2 path Win32_ScheduledJob
但这只会回归:
No Instance(s) Available.
所以我不确定我做错了什么,或者我是否需要在服务器上配置一些东西.
似乎WMIC仅支持使用WMIC本身创建的作业或使用AT命令创建的作业(
source – 从第205页开始).
这肯定是你没有可用实例的原因.
我也是一个Powershell瘾君子,但如果这是一个问题,你可以使用schtasks实用程序(如你所提到的).
要远程禁用任务:
schtasks /change /disable /TN "task name" /S server_fqdn /U domain\user /P password
禁用任务的好处是,您确定它将继续运行直到它完成,以防它正在运行(在这种情况下仅禁用将来的执行).
如果您想等到任务完成,则必须等待该过程完成.要避免使用其他第三方工具/命令,您也可以通过查询任务状态来执行此操作:
schtasks /query /TN "task name" /S server_fqdn /U domain\user /P password | finstr Running
(ps:请注意,我不确定“运行”状态,因为我的Windows操作系统是法语.请根据您的语言检查).
schtasks / END将立即终止任务.