batch dos et taches planifiées
Dernière réponse : dans Programmation
Bonjour
j'ai passé un peu de temps cette aprem pour creer un petit batch sous dos pour qu'en fonction de l'heure de la journée ou de la nuit mon ordi modifie lui meme ses parametres de securité notament en ce qui concerne la demande de mot de passe à la sortie de l'economiseur d'ecran.
donc je cherche la bonne clé, fais mon batch sous ms dos, je le teste vite fait corrige les bugs et cool ca marche.... bref, etape suivante plutot que le mettre a tourner en boucle, je me dit que je vais confier au planificateur des taches windows son execution, je cree ma tache, pointe le bon fichier, le programme ts les 15 minutes je valide, il me demande le nom d'utilisateur et le mdp pour l'executer, je lui met tous ca. et au lieu d'attendre je force l'execution sur le champ et la mon batch n'a plus du tout le meme comportement que quand je lance direct le .bat
voila le script que j'ai ecrit:
essayez le eventuellement
voila ce que ca fait chez moi
![]()
PS: je suis sous xp PRO SP2 a jour
j'ai passé un peu de temps cette aprem pour creer un petit batch sous dos pour qu'en fonction de l'heure de la journée ou de la nuit mon ordi modifie lui meme ses parametres de securité notament en ce qui concerne la demande de mot de passe à la sortie de l'economiseur d'ecran.
donc je cherche la bonne clé, fais mon batch sous ms dos, je le teste vite fait corrige les bugs et cool ca marche.... bref, etape suivante plutot que le mettre a tourner en boucle, je me dit que je vais confier au planificateur des taches windows son execution, je cree ma tache, pointe le bon fichier, le programme ts les 15 minutes je valide, il me demande le nom d'utilisateur et le mdp pour l'executer, je lui met tous ca. et au lieu d'attendre je force l'execution sur le champ et la mon batch n'a plus du tout le meme comportement que quand je lance direct le .bat
voila le script que j'ai ecrit:
FOR /F "tokens=1-4 delims=: " %%I IN ('time /t') DO SET h=%%I
if %h% geq 20 goto SOIR
if %h% geq 12 goto APREM
if %h% geq 08 goto MATIN
if %h% geq 00 goto NUIT
GOTO FIN
:SOIR
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure /d 1 /f
Goto FIN
:APREM
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure /d 0 /f
Goto FIN
:MATIN
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure /d 1 /f
Goto FIN
:NUIT
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure /d 0 /f
Goto FIN
:FIN
reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure
essayez le eventuellement
voila ce que ca fait chez moi

PS: je suis sous xp PRO SP2 a jour
Autres pages sur : batch dos taches planifiees
Lassé par la pub ? Créez un compte
dslé pour les balises, je ne les connaissais pas, je vais modifier de suite.
oui bien sur j'ai oublié de preciser, c'est bien le meme compte, un compte avec des privileges d'administrateur.
mais j'ai été un peu vite dans l'analyse du probleme
si je lance le script à la main en double cliquant dessus il me fait la meme chose
si je lance via la console (cmd) en appelant le fichier .bat au bon endroit ca marche plutot pas mal (mais pas à 100% ce que je trouve encore plus etrange)
oui bien sur j'ai oublié de preciser, c'est bien le meme compte, un compte avec des privileges d'administrateur.
mais j'ai été un peu vite dans l'analyse du probleme
si je lance le script à la main en double cliquant dessus il me fait la meme chose
si je lance via la console (cmd) en appelant le fichier .bat au bon endroit ca marche plutot pas mal (mais pas à 100% ce que je trouve encore plus etrange)
cela fait plus de 7 ans que je suis incrit sur le forum, je les ai un peu oubliées les regles que j'ai lues il y a 7 ans et je passe pas mon temps a relire ts les jours...
je peux detailler le pas à 100%, si je passe par la console DOS, la premiere execution me renvoie la meme erreur que par l'explorateur (je precise par l'explorateur ca ne marche jamais, vu qu'il ouvre une nouvelle fenetre dos à chaque fois), mais les suivantes ca roule par la console.
je vais essayer ton code, et dans le mien je vais ajouter un pre appel a la fonction reg.
http://membres.lycos.fr/gwen2213/set_console.jpg
http://membres.lycos.fr/gwen2213/set_explorer.jpg
il y a une différence au niveau de la variable path, si je lance de l'explorateur il me rajoute plein de rep vers mes programmes, mais il en manque un, c'est le c:\windows.0/system
j'ai modifié le script comme suit, et ca bloque sur la ligne 3 qui est mal interpretée
faut il caser un set path au debut ?? parce que si j'ouvre la console via executer cmd j'ai ca au debut:
http://membres.lycos.fr/gwen2213/set_new_fenetre_console.jpg
ca ressemble bcp a ce que j'ai lors d'un lancement par l'explorateur...
PS: reg.exe se trouve dans: C:\WINDOWS.0\system32
je peux detailler le pas à 100%, si je passe par la console DOS, la premiere execution me renvoie la meme erreur que par l'explorateur (je precise par l'explorateur ca ne marche jamais, vu qu'il ouvre une nouvelle fenetre dos à chaque fois), mais les suivantes ca roule par la console.
je vais essayer ton code, et dans le mien je vais ajouter un pre appel a la fonction reg.
http://membres.lycos.fr/gwen2213/set_console.jpg
http://membres.lycos.fr/gwen2213/set_explorer.jpg
il y a une différence au niveau de la variable path, si je lance de l'explorateur il me rajoute plein de rep vers mes programmes, mais il en manque un, c'est le c:\windows.0/system
j'ai modifié le script comme suit, et ca bloque sur la ligne 3 qui est mal interpretée
La suite ne change pas bien sur :$
FOR /F "tokens=1-4 delims=: " %%I IN ('time /t') DO SET h=%%I
reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure
if %h% geq 20 goto SOIR
faut il caser un set path au debut ?? parce que si j'ouvre la console via executer cmd j'ai ca au debut:
http://membres.lycos.fr/gwen2213/set_new_fenetre_console.jpg
ca ressemble bcp a ce que j'ai lors d'un lancement par l'explorateur...
PS: reg.exe se trouve dans: C:\WINDOWS.0\system32
Citation :
reg ne prend pas la version courte du premier niveau ?-> HCU\Control Panel\Desktop" /v ScreenSaverIsSecure
si bien sur mais y a moins d'erreur possible en mettant le chemin entier.
finalement, j'ai resolu le bug en rajoutant la ligne 1, en faisant pointer la variable path vers le rep ou se situe reg.exe, CQFD
set path=C:\WINDOWS.0\system32
FOR /F "tokens=1-4 delims=: " %%I IN ('time /t') DO SET h=%%I
reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure
if %h% geq 20 goto SOIR
if %h% geq 12 goto APREM
if %h% geq 08 goto MATIN
if %h% geq 00 goto NUIT
GOTO FIN
:SOIR
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure /d 1 /f
Goto FIN
:APREM
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure /d 0 /f
Goto FIN
:MATIN
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure /d 1 /f
Goto FIN
:NUIT
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure /d 0 /f
Goto FIN
:FIN
reg query "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure
pause
Bonjour enigma,
Je suis ravi que ça fonctionne.
C'était donc bien un problème d'environnement.
Je te propose plutôt ceci pour ta première ligne :
--------------------
Quant au règlement, désolé, je suis aussi modérateur, et à ce titre, aussi bien pour les vieux de la vieille comme toi ou pour les ptits nouveaux, je dois veilller à son application. Tu remarqueras que cela ne m'avait pas empêché de te proposer une piste (qui s'est avéré bonne
)
Je suis ravi que ça fonctionne.
C'était donc bien un problème d'environnement.
Je te propose plutôt ceci pour ta première ligne :
SET PATH=C:\WINDOWS.0\system32;%PATH%
--------------------
Quant au règlement, désolé, je suis aussi modérateur, et à ce titre, aussi bien pour les vieux de la vieille comme toi ou pour les ptits nouveaux, je dois veilller à son application. Tu remarqueras que cela ne m'avait pas empêché de te proposer une piste (qui s'est avéré bonne
) Citation :
Je te propose plutôt ceci pour ta première ligne :SET PATH=C:\WINDOWS.0\system32;%PATH%
modif effectuée, ca ne fait bien sur pas merder le script
Citation :
Quant au règlement, désolé, je suis aussi modérateur, et à ce titre, aussi bien pour les vieux de la vieille comme toi ou pour les ptits nouveaux, je dois veilller à son application. Tu remarqueras que cela ne m'avait pas empêché de te proposer une piste (qui s'est avéré bonne
)Je suis aussi modérateur d'un forum par conséquent je sais ce qu'il en est, mais comprends bien que les forumeurs ne passent pas leur temps a étudier toutes les nouvelles fonctionnalités de chaque site... quand aux reglement par extension c'est pareil...
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumCode batch dos
- ForumProgrammation batch dos
- ForumExecuter batch dos
- ForumScript batch dos
- ForumFichier batch sous dos
- ForumOrdre dexecution batch dos
- ForumDans une batch dos comment fonctionne les variables
- ForumRã cupã rer saisie batch dos
- ForumRealiser un script en batch de dos
- ForumFichier date en batch dos
- Voir plus








Etudie le résultat de ce script en fonction du type d'appel :