J'essaie d'automatiser un script VBScript à l'aide du planificateur de tâches Windows. Cependant, j'ai essayé d'utiliser cscript.exe
+ "C:\...\script.vbs"
mais cela n'a pas fonctionné. J'ai également essayé d'exécuter directement la même commande dans CMD (cscript.exe "C:\...\script.vbs"
) et cela a fonctionné.
Quel pourrait être le problème?
MODIFIER :
Je viens d'essayer de passer le paramètre à "Run only when user is logged on"
à partir de "Run whether user is logged on or not"
et cela a fonctionné. Je me demande s’il est possible de faire en sorte que ma tâche soit exécutée même lorsque l’utilisateur est déconnecté.
Après des heures de recherche, un des blogs de Blake Morrison (de Microsoft) a été publié; il a mentionné que
Si vous exécutez un script .vbs/.ps1, essayez de le lancer à partir d'un script .cmd/.bat
voir Aide! Ma tâche planifiée ne s'exécute pas…
Ce blog explique également de nombreuses règles/astuces lors de l'utilisation du Planificateur de tâches.
Créez donc un fichier .cmd/.bat qui appelle votre script VBScript. Par exemple: cscript.exe YourScript.vbs
serait dans votre script .cmd/.bat.
Ecrivez un fichier batch comme ceci:
echo "Started!" > c:\foldergoeshere\log.txt
cscript.exe "C:\...\script.vbs" > c:\foldergoeshere\log.txt
echo "Stopped!" > c:\foldergoeshere\log.txt
Planifiez ensuite le fichier de commandes au lieu du fichier vbs. Cela vous permettra de voir ce qui se passe qui l'empêche de fonctionner. Toute erreur que vous auriez vue en train de s'exécuter dans la console (CMD) sera à la place générée dans ce fichier journal entre "Démarré!" et "arrêté!"
Greg a répondu à cette question https://superuser.com/a/816073
Fondamentalement, vous devez créer 2 dossiers:
Vous devez créer un dossier (ou deux sur une fenêtre 64 bits):
(32 bits, toujours) C:\Windows\System32\config\systemprofile\Desktop
(64 bits) C:\Windows\SysWOW64\config\systemprofile\Desktop
Correction du problème pour moi (et je pouvais pointer sur le fichier .vbs, pas besoin de batte).
De quoi s'agit-il? Je n'utilise pas .cmd/.bat et le script fonctionne! (Windows7 ici)
Mon script VBS (en tant que tâche planifiée) s’exécute correctement dans tous les scénarios de ce type 4:
Ce n'est que sur le 1er scénario que je rencontre la fenêtre de commande noire clignotant sur mon écran.
Paramètres d'action:
ou
Mon script, qui crée simplement un fichier:
Set objFSO = CreateObject("Scripting.FileSystemObject")
filename = "C:\Temp\" & Hour(Time) & Minute(Time) & Second(Time)
Set objFile = objFSO.CreateTextFile(filename)
Le fichier .vbs s'exécute de manière invisible, ce qui est une conséquence de son exécution avec l'option "connecté ou non".
Vous ne serez pas autorisé à interférer avec un utilisateur utilisant l'ordinateur , ce qui signifie que vous pourrez vous aider, mais pas les autres.
Veuillez lire le texte suivant dans le menu Aide du planificateur de tâches:
Contexte de sécurité de la tâche
Vous pouvez spécifier qu'une tâche doit être exécutée même si le compte sous lequel la tâche doit être exécutée n'est pas connecté lorsque la tâche est déclenchée.
Pour ce faire, sélectionnez le bouton radio intitulé Exécuter si l'utilisateur est connecté ou non.
Si ce bouton radio est sélectionné, les tâches ne seront pas exécutées de manière interactive.
Pour exécuter une tâche de manière interactive, sélectionnez le bouton radio Exécuter uniquement lorsque l'utilisateur est connecté.
Avoir constaté à plusieurs reprises qu'une tâche VBScript exécutée comme prévu avait bien fonctionné pendant des mois et des années mais ne fonctionnait plus du tout malgré que rien ne soit changé. J'ai essayé de réactiver la tâche en utilisant toutes les recettes données ici et ailleurs, mais sans succès. Ma solution de contournement consistait à créer une tâche nouveau / planifiée avec tous les paramètres copiés à partir de la tâche d'origine.