Exécuter un script de traitement par lots sous Windows Shutdown à l'aide de GPedit.msc de CMD

1

Je souhaite exécuter un script de traitement par lots sous Windows 10 Shutdown à l'aide de l'invite de commande. Je sais que ce n'est pas facile.

Tout ce que je sais sur GPedit.msc, c'est que lorsque vous définissez un script d'arrêt, il crée les entrées regedit suivantes:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0]    
"GPO-ID"="LocalGPO"    
"SOM-ID"="Local"    
"FileSysPath"="C:\\Windows\\System32\\GroupPolicy\\Machine"    
"DisplayName"="Stratégie de groupe locale"    
"GPOName"="Stratégie de groupe locale"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0\0]    
"Script"="C:\Windows\System32\cmd.exe"    
"Parameters"="/C "C:\BATCH_FILE.bat""    
"ExecTime"=hex(b):00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00    

(Ces entrées sont les mêmes pour le démarrage, mais ne modifient que l'arrêt pour le démarrage.)

(J'ai vu que dans certains forums, dans l'entrée suivante regedit, Gpedit crée également des entrées de script: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System mais ce n'est pas le cas, du moins pas dans Windows 10.)

(Pour exécuter un script de traitement par lots sur LogOFF, il est nécessaire de l'utiliser C:\Windows\System32\cmd.execomme nom de script et /C C:\path\to\batch\script.batcomme paramètre de script.)

Et crée également un Script.inifichier dans le répertoire suivant:

C:\WINDOWS\system32\GroupPolicy\Machine\Scripts

Sachant tout cela, j’ai exporté ces entrées regedit dans un fichier .reg et ai copié Script.ini; J'ai supprimé l'entrée de GPedit.msc et essayé de définir le script manuellement en démarrant le fichier .reg et en copiant à nouveau le fichier script.ini dans son répertoire (tout cela peut être fait facilement par CMD), mais cela n'a pas fonctionné. GPedit.msc montre l'entrée LogOFF, mais cela ne fonctionne que si j'appuie sur modifier et applique ...

J'ai également essayé de mettre à jour GPedit à l'aide de la commande gpupdate /forceaprès avoir défini le script manuellement, mais rien ne s'est passé.

Je pense que je suis si proche de résoudre ce problème ...

Bita
la source
1
Pourquoi voudriez-vous cela et ne pas utiliser gpedit.msc? En outre, vous pouvez utiliser le planificateur de tâches pour démarrer un programme / script au démarrage ou à l'arrêt. schtasks.exe peut être utilisé à partir de la ligne de commande pour créer une tâche, ou même plus simple: commencez par exporter une tâche, puis importez-la.
LPChip
@LPChip Parce que j'essaie de développer mon premier programme CMD et que je souhaite exécuter une tâche rapide sur Windows Shutdown, si cela est possible. Planificateur de tâches, ce n'est pas ce que je veux, mais merci pour la réponse rapide.
Bita
1
Planificateur de tâches est ce que vous devriez utiliser. N'essayez pas de réinventer la roue.
Ramhound
Comme mentionné précédemment, le chemin à la moindre résistance consiste à utiliser le Planificateur de tâches Windows et à utiliser l' option OnEvent .
Squashman