22 Voix

Mettre Windows par Script en Mode Veille ou Veille Prolongée

Tutoriel de Stefan Trost | 24/04/2024 à 17:42

Dans ce didacticiel, nous souhaitons voir comment mettre notre ordinateur Windows soit en mode veille, soit en état d'hibernation (mode veille prolongée) en utilisant un script respectivement à l'aide d'une commande de ligne. Nous examinons d'abord la commande générale pour activer ces deux états, puis nous l'étendons pour inclure un délai facultatif.

Dans le didacticiel sur l'arrêt d'un ordinateur Windows à l'aide d'un script batch, nous avons déjà vu comment contrôler le programme système Windows "shutdown.exe" pour arrêter ou redémarrer notre ordinateur Windows. Pour arrêter, nous pouvons appeler shutdown.exe avec le paramètre s (qui signifie "shutdown"), pour redémarrer le système, nous pouvons utiliser à la place le paramètre r, qui signifie le mot anglais "restart".

Veille Prolongée (Hibernation)

Le paramètre équivalent pour mettre Windows en mode veille prolongée est le "h". Cette lettre vient du mot anglais "hibernation", qui signifie littéralement "hibernation" et est utilisé pour l'état "Veille Prolongée" dans les versions anglaises de Windows.

L'appel d'hibernation s'effectue de la même manière que les autres exemples du tutoriel d'arrêt:

shutdown.exe -h

Avec cette commande, nous mettrons notre ordinateur en mode hibernation immédiate.

Mode Veille

Bien que shutdown.exe puisse être contrôlé avec une variété de paramètres et puisse être utilisé pour les arrêts et les redémarrages ainsi que pour les hibernations, le programme ne dispose pas de paramètre pour activer le mode veille. C'est pour cette raison que nous devons procéder différemment pour l'active :

runDLL32.exe powrprof.dll,SetSuspendState Sleep

Le programme runDLL32.exe est un utilitaire Windows permettant d'exécuter des fonctions Windows définies dans une DLL (bibliothèque de programmes). Ici, nous utilisons runDLL32 pour appeler la fonction SetSuspendState() à partir de la DLL powrprof.dll, ce qui peut mettre notre ordinateur à la fois en mode veille et en mode veille prolongée. Puisque nous ne nous intéressons à ce stade qu’au mode veille, nous passons "Sleep" comme paramètre supplémentaire à la fonction.

"Sleep" est utilisé à côté de "Hibernate" dans les versions anglaises de Windows pour activer les états respectifs "Mettre en veile" respectivement "Mettre en veile prolongée".

Temporisation

En suivant la logique, il serait raisonnable de supposer que nous pouvons ajouter un délai à "shutdown.exe -h" en ajoutant simplement une valeur t (temps) comme paramètre supplémentaire, comme nous le savons déjà grâce à nos exemples d’arrêt et de redémarrage à l'aide d'un script.

Cependant, "shutdown.exe" ne fournit pas cela pour "hibernate". Dans tous mes tests pour ce didacticiel utilisant différentes versions de Windows, des commandes telles que "shutdown.exe -h -t 60" n'ont pas été acceptées et n'ont été reconnues que par un message d'erreur. Bien que, sur les mêmes ordinateurs, les mêmes commandes fonctionnaient pour l'arrêt retardé ("shutdown.exe -s -t 60") ainsi que pour le redémarrage retardé ("shutdown.exe -r -t 60") après une minute (60 secondes) délai.

Si nous voulons néanmoins mettre notre ordinateur en veille avec un certain délai, nous devons utiliser une solution alternative. Par exemple, nous pouvons définir un délai d'attente (timeout) dans notre script avant d'appeler la commande. Notre exemple suivant montre comment cela fonctionne pour un délai d'attente d'une minute (60 secondes):

timeout /t 60 /nobreak
shutdown.exe -h

L'appel de ces lignes garantit que le compte à rebours est d'abord effectué pendant 60 secondes et seulement ensuite shutdown.exe est appelé et ainsi l'état d'hibernation est activé. Au lieu des 60 secondes utilisées ici, nous pouvons bien sûr également utiliser n'importe quel autre nombre de secondes pour notre pause.

La situation est similaire avec l'activation du mode veille respectivement du mode économie d'énergie. La fonction SetSuspendState() de la DLL powrprof n'a pas non plus de paramètre pour spécifier une heure. Donc, dans ce cas aussi, nous devons travailler avec un timeout indépendant de SetSuspendState() :

timeout /t 180 /nobreak
runDLL32.exe powrprof.dll,SetSuspendState Sleep

Ces deux lignes mettront notre ordinateur en mode veille après une pause de 3 minutes (180 secondes).

Fermeture Automatique des Programmes

Dans le didacticiel déjà mentionné sur l'arrêt ou le redémarrage de Windows contrôlé par script, nous avons également examiné le paramètre f, avec lequel nous pouvons forcer la fermeture de toutes les applications en cours d'exécution sans invite avant l'arrêt, que les programmes aient ou non encore des fichiers ouverts avec des modifications non enregistrées.

Ce paramètre peut également être utilisé en conjonction avec l'état d'hibernation afin de fermer les programmes en cours d'exécution avant de démarrer l'hibernation. Il suffit pour cela de passer l'option "f" comme paramètre supplémentaire:

shutdown.exe -h -f

Avec cette commande, nous envoyons notre ordinateur en veille prolongée et fermons au préalable tous les programmes ouverts. Les modifications apportées aux fichiers ouverts qui n'ont pas encore été enregistrés seront perdues.

Conditions Requises

Enfin, il convient de mentionner que les commandes présentées dans ce tutoriel ne fonctionnent que si l'hibernation respectivement le mode veille est activé sur l'ordinateur en question.

Vous pouvez facilement savoir si tel est le cas en vérifiant si le menu d'arrêt de l'ordinateur, en plus de "Arrêter" et "Redémarrer", comporte également les options "Veille prolongée" respectivement "Veille".

Si ce n'est pas le cas, l'hibernation peut généralement être activée dans le Panneau de Configuration si votre système prend généralement en charge cet état. Dans le cas des machines virtuelles, par exemple, cela n'est généralement pas possible.

Méthode d'Appel Alternative

Sur les versions actuelles de Windows, le programme runDLL32.exe ainsi que le programme shutdown.exe se trouvent dans le dossier "system32" de l'installation de Windows. Dans le cas d'une installation Windows par défaut, il s'agit du dossier "C:\Windows\System32". Ainsi, on peut également appeler les deux programmes via ce chemin complet respectivement via sa variable système %SYSTEMROOT% sous la forme "%SYSTEMROOT%\System32".

Dans le même temps, nous pouvons également définir les paramètres de shutdown.exe en utilisant une barre oblique au lieu du trait d'union affiché ici. Autrement dit, "shutdown /h" au lieu de "shutdown -h".

Pour obtenir des exemples de cette méthode alternative d’appel, consultez le Didacticiel d’Arrêt de Windows. Dans ce didacticiel, vous trouverez également d'autres explications plus détaillé ainsi que des paramètres supplémentaires pour shutdown.exe.

RépondrePositifNégatif

Sur l’Auteur

AvatarVous pouvez trouver des logiciels de Stefan Trost sur fr.sttmedia.com. Avez-vous besoin d'un logiciel personnalisé selon vos propres besoins? Écrivez-nous: fr.sttmedia.com/contact
Voir Profil

 

Sujets Connexes

VirtualBox: Changer la Date et l'Heure

Tutoriel | 10 Commentaires

CSS: Comment inclure CSS dans HTML

Tutoriel | 0 Commentaires

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.