Script qui arrête l’ordinateur direct après un redémarrage

Fermé
Thomas-F - 29 mars 2023 à 11:18
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 1 avril 2023 à 06:34

Bonjour, je me permet de contacter le Forum car je rencontre une difficulté.

Mon objectif est de faire un script en Bath, qui va permettre à mon ordinateur de s’éteindre directement après un redémarrage mais qu’il le fasse une seul fois. En sachant que je souhaite que le pc s’éteigne alors que la session est verrouillée.

Donc le pc redémarrage avec un shutdown /r et au redémarrage je veux qu’il s’éteigne.

J’ai tenter de le faire avec des registres, la clé de registre RunOnce (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce) en lui disant de faire un arrêt au prochain redémarrage, cette méthode fonctionne mais que si la session est dévérouillé et qu’il n’y a pas de mot de passe, mais c’est pas mon objéctif. Et ce qui est étrange c’est que cette méthode fonctionne aussi lorsque je fais avec un redémarrage avec Windows (même session fermé il s’éteint), mais lorsque je fais un redémarrage en CMD cela ne fonctionne pas. Je suis proche de la réussite mais la je bloque j’aurais besoin d’aide, cela est pour un projet.

Merci par avance de votre aide, si vous avez des questions n’hésitez pas.

Thomas ;)

A voir également:

5 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 29 mars 2023 à 17:19

Bonjour,

Attention aux termes employés : une session verrouillée n'est pas une session fermée.

Un redémarrage alors que la session est verrouillée risque de provoquer une perte de données ou bien des bogues.

Je ne comprends pas bien l'intérêt d'arrêter après un redémarrage, pourrais-tu m'éclairer sur le but de la manoeuvre ?


0

Je veux dire lorsque la session n’est pas encore déverrouillé suite à un redémarrage.

l’objectif est que les pc de client font une mise à jours pendant la nuit, une fois cette mise à jours faite, les pc redémarre mais une fois redémarrer ils doivent s’éteindre directement pour que quand le client arrive le matin, les pc sont éteint. Tout ça doit se faire automatiquement car personne sera devant les pc.

Si ce n’est toujours pas clair n’hésite pas à me poser des questions 

0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 30 mars 2023 à 06:22

Ok je comprends mieux le but.

Je veux dire lorsque la session n’est pas encore déverrouillé suite à un redémarrage

==>> donc il ne s'agit pas d'une session verrouillée (touche Windows + L) mais d'une session fermée.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Avant de se lancer dans l'écriture de ce script minimaliste, il faudrait trouver un moyen de détecter un redémarrage dû à une mise à jour par rapport à un redémarrage normal. On pourrait se baser par exemple sur l'heure de la machine, l'algorithme serait le suivant :

- lancement du script au démarrage de la machine (via une GPO machine)

- si heure supérieure à 00h00 et inférieure à 07h00 alors arrêter la machine

- sinon arrêter le script
0
brucine Messages postés 14316 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 25 avril 2024 1 813 > barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024
30 mars 2023 à 08:35

Bonjour,

J'ai du mal à suivre le cheminement: si les PC font des MAJ de nuit, c'est qu'ils sont allumés (sauf si éventuellement elles ont lieu à partir d'un serveur via Wake on Lan).

La question ne revient-elle alors pas, sauf si les clients en question sont susceptibles de tomber du lit à n'importe quelle heure, à systématiquement programmer l'extinction des PC juste avant l'heure prévue pour le début de l'activité?

Sinon, il faut sans doute faire un script qui repose sur la mise en évidence de ces mises à jour (date de certains fichiers, fichiers de Log...) pour éteindre les machines dans l'éventualité de leur existence.

0
brucine Messages postés 14316 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 25 avril 2024 1 813 > brucine Messages postés 14316 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 25 avril 2024
30 mars 2023 à 09:42

S'il s'agit de Windows Update, WSUS Offline doit faire le job:

https://www.wsusoffline.net/docs/

ou bien des utilitaires tiers, par exemple:

https://dennisbabkin.com/shutdownwithupdates/

S'il s'agit de mises à jour de bases de données ou d'un progiciel propriétaire, je crains qu'il ne faille réaliser son propre script via VBS ou équivalent.

On en a ici un exemple pour Vista et Windows Update, je ne sais pas ce que cela donne dans des versions plus récentes, c'est trop calé pour moi; le couteau suisse serait WUInstall, mais il faut la version payante qui est un luxe.

https://superuser.com/questions/351703/how-can-i-install-updates-and-shut-down-from-the-command-line

0

C'est pas des Mises à jours que moi j'ai mis en place et que je mets sur les pc via un script, et je dois faire un redémarrage, donc dans tous les cas le pc va redémarrer.

Il n'y a pas vraiment d'heure programmer, le but est juste que le pc s'éteigne dès lors que le pc à redémarrer. 

Je suis dans l'obligation d'éteindre le pc direct après cette mise à jours.

Enfaite j'ai quasiment réussi avec le registre OneRonce et ca fonctionne quand c'est un redémarrage fait à la main par Windows mais ca fonctionne pas lors de l'utilisation de la commande "shutdown /r".

Voici la fin de mon script :

"

reg add HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce /v Shutdown /d "shutdown /s /t 0 /f"

shutdown /r /t 0 /f

"

0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
30 mars 2023 à 18:43

Est-ce qu'il s'agit de mises à jour via Windows Update ?

Par quel moyen comptes-tu lancer ton script ?

0

Non ce n'est pas une mise à jours via Windows Update.

Le script s'exécute à partir d'une tache planifié.

0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
31 mars 2023 à 06:24

Les mises à jour concernent quel logiciel alors ?

C'est toi qui déclenche la MAJ via le script ?

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question

Oui c’est moi qui déclenche la mise a jours via le planificateur de tache.

0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 1 avril 2023 à 06:35

Vu que c'est le script qui déclenche la MAJ, il suffit de créer un fichier temporaire qui servira de marqueur.

L'algorithme devrait ressembler à ça :
 

1. si le fichier "marqueur.txt" existe alors supprimer "marqueur.txt" et arrêter la machine

2. lancer la MAJ

3. créer un fichier temporaire "marqueur.txt"

4. redémarrer la machine
0