我需要使用python检查Windows计划任务的状态,并通过任务名称进行验证。我基本上想知道任务是否正在运行。
我一直在寻找答案,但没有找到答案。
我怎样才能做到这一点?
编辑:基于以下评论,实现此目标并在某种变量中产生结果(例如,检查状态是否为“正在运行”)的最佳方法是:
"Running" in check_output(["C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe", '-Command', '&{Get-ScheduledTask -TaskPath \* | where taskname -eq "TaskName" | select state;}'])
您可以使用子流程模块。
import subprocess
subprocess.call(r'schtasks.exe /query /tn "TASKNAME_HERE"', shell=True)
如果拒绝访问,则可能需要更改字符串以传递服务器地址和凭据,如下所示:
import subprocess
subprocess.call(r'schtasks.exe /query /S 192.168.1.100 /u domain\username /P pass /tn "TASKNAME_HERE"', shell=True)
如下所述,仅获取命令的“状态”,使用powershell很容易。试试这个:
import subprocess
subprocess.call(["C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe", '-Command', '&{Get-ScheduledTask -TaskPath \* | where taskname -eq "Ajustar Inventario SM" | select state;}'])
这将返回:
State
-----
Ready
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句