0

J'ai un serveur AWS dans lequel j'ai une liste de tâches planifiées. Lorsque j'exécute sous le script python enregistré dans un fichier nommé script.py via l'invite de commande, je ne reçois pas le nom de nombreuses tâches dans la console.Liste de toutes les tâches planifiées utilisant Python dans le serveur AWS

scénario

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() 

J'enregistré le fichier dans H:\ScriptRepo, donc je navigue dans le dossier en utilisant la commande cd cd /d H:\ScriptRepo dans l'invite de commande. Une fois que j'y arrive, je tape python script.py

Le problème est que je ne suis pas capable d'obtenir le nom de toutes les tâches planifiées. Quand j'exécute le même script sur mon PC local, je peux obtenir le nom de toutes les tâches planifiées que je vois dans la fenêtre de la bibliothèque du planificateur de tâches. Qu'est-ce que je rate? Et pourquoi ce script se comporte-t-il différemment dans AWS et comment le résoudre?

+0

Privilèges administratifs manquants? – barny

+0

J'ai les droits d'administrateur. – Enthusiast

Répondre

0

J'ai trouvé moi-même la réponse. C'est étrange, quand j'exécute la liste de scripts que je reçois sont ceux que j'ai ajouté dans le planificateur. De même, si je demande à un utilisateur différent d'exécuter le script en utilisant ses informations d'identification, il imprime uniquement les tâches qu'il a ajoutées dans le planificateur de tâches. Le point à considérer est que tous les utilisateurs ont des privilèges d'administrateur.

Pour résoudre ce problème, je me suis connecté au serveur en utilisant les identifiants de l'administrateur et maintenant il imprime tous les détails de flux de travail que je voulais.