AWS 服务器中使用 Python 的所有计划任务列表
List of all scheduled tasks using Python in AWS server
我有一个 AWS 服务器,其中有一个计划任务列表。当我通过命令提示符执行保存在名为 script.py
的文件中的 python 脚本时,我没有在控制台中获取许多任务的名称。
脚本
import win32com.client
def Task_Names():
path = find_path()
columns1 = ['Workflow Name','Last Run Time','Status']
dat = pd.DataFrame(columns1)
TASK_STATE = {0: 'Unknown',
1: 'Disabled',
2: 'Queued',
3: 'Ready',
4: 'Running'}
scheduler = win32com.client.Dispatch('Schedule.Service')
scheduler.Connect()
folders = [scheduler.GetFolder('\')]
while folders:
folder = folders.pop(0)
folders += list(folder.GetFolders(0))
for task in folder.GetTasks(0):
if task.LastTaskResult == -2147023829:
result = 'Failed'
elif task.LastTaskResult == -2147024894:
result = 'The system cannot find the file specified'
elif task.LastTaskResult == 267009:
result = 'The task is currently running'
elif task.LastTaskResult == 0:
result = 'Completed'
#status.append(valu)
print(task.Name,task.LastRunTime,result)
if __name__ == '__main__':
Task_Names()
我将文件保存在 H:\ScriptRepo
中,因此我在命令提示符下使用 cd 命令 cd /d H:\ScriptRepo
导航到该文件夹。到达那里后,我输入 python script.py
问题是我无法获取所有计划任务的名称。当我在我的本地 PC 上执行相同的脚本时,我能够获得我在任务调度程序库 window 中看到的所有计划任务的名称。我错过了什么?为什么这个脚本在 AWS 中表现不同,我该如何解决?
我自己找到了答案。很奇怪,当我执行脚本时,我得到的唯一列表是我在调度程序中添加的列表。同样,如果我要求不同的用户使用他的凭据执行脚本,它只会打印 he/she 添加到任务计划程序中的那些任务。要考虑的一点是所有用户都有管理员权限。
为了解决这个问题,我使用管理员凭据登录到服务器,现在它正在打印我想要的所有工作流详细信息。
我有一个 AWS 服务器,其中有一个计划任务列表。当我通过命令提示符执行保存在名为 script.py
的文件中的 python 脚本时,我没有在控制台中获取许多任务的名称。
脚本
import win32com.client
def Task_Names():
path = find_path()
columns1 = ['Workflow Name','Last Run Time','Status']
dat = pd.DataFrame(columns1)
TASK_STATE = {0: 'Unknown',
1: 'Disabled',
2: 'Queued',
3: 'Ready',
4: 'Running'}
scheduler = win32com.client.Dispatch('Schedule.Service')
scheduler.Connect()
folders = [scheduler.GetFolder('\')]
while folders:
folder = folders.pop(0)
folders += list(folder.GetFolders(0))
for task in folder.GetTasks(0):
if task.LastTaskResult == -2147023829:
result = 'Failed'
elif task.LastTaskResult == -2147024894:
result = 'The system cannot find the file specified'
elif task.LastTaskResult == 267009:
result = 'The task is currently running'
elif task.LastTaskResult == 0:
result = 'Completed'
#status.append(valu)
print(task.Name,task.LastRunTime,result)
if __name__ == '__main__':
Task_Names()
我将文件保存在 H:\ScriptRepo
中,因此我在命令提示符下使用 cd 命令 cd /d H:\ScriptRepo
导航到该文件夹。到达那里后,我输入 python script.py
问题是我无法获取所有计划任务的名称。当我在我的本地 PC 上执行相同的脚本时,我能够获得我在任务调度程序库 window 中看到的所有计划任务的名称。我错过了什么?为什么这个脚本在 AWS 中表现不同,我该如何解决?
我自己找到了答案。很奇怪,当我执行脚本时,我得到的唯一列表是我在调度程序中添加的列表。同样,如果我要求不同的用户使用他的凭据执行脚本,它只会打印 he/she 添加到任务计划程序中的那些任务。要考虑的一点是所有用户都有管理员权限。
为了解决这个问题,我使用管理员凭据登录到服务器,现在它正在打印我想要的所有工作流详细信息。