如何使用 python 检查 Windows 计划任务的状态?

如何使用 python 检查 Windows 计划任务的状态?

我需要使用 python 检查 Windows 计划任务的状态,并通过任务名称进行验证。我基本上想知道任务是否正在运行。

我已经寻找答案但没有找到任何答案。

我怎样才能做到这一点?

编辑: 根据以下评论,实现此目的并将结果放在某种变量中(例如,检查状态是否为“运行”)的最佳方法是:

"Running" in check_output(["C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe", '-Command', '&{Get-ScheduledTask -TaskPath \* | where taskname -eq "TaskName" | select state;}'])

答案1

您可以使用子进程模块。

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

相关内容