3 votes

Redémarrez un ordinateur à une heure donnée avec PowerShell

Je recherche un moyen de redémarrer un ordinateur avec PowerShell (Restart-Computer), à une heure donnée (Exemple : 03:00AM). Le script PS lui-même s'exécutera à un moment aléatoire, lorsque l'utilisateur l'exécute, donc ce n'est pas une option de planifier le script à 03:00AM.

Ma première pensée était de planifier une tâche, à 03:00AM (avec PowerShell) qui exécutera le redémarrage pour moi. C'est possible (je pense) avec New-ScheduledTask en PowerShell 4.0. Le seul inconvénient est que je ne suis pas sûr si les ordinateurs qui exécuteront ce script ont PowerShell 4.0.

Est-il possible de planifier une tâche avec PowerShell 2.0, ou y a-t-il un autre moyen de redémarrer l'ordinateur à une heure donnée?

Merci

4voto

saltface Points 161

Vous pourriez exécuter

shutdown -r -t ([decimal]::round(((Get-Date).AddDays(1).Date.AddHours(3) - (Get-Date)).TotalSeconds))

Cela permet d'obtenir le nombre de secondes entre l'heure à laquelle le script est exécuté et 3h du matin le lendemain. Ensuite, il passe le résultat à shutdown.exe. Évidemment, cela est conçu pour être exécuté avant minuit.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X