Je voudrais planifier un redémarrage unique du serveur, par exemple pour terminer l'installation des mises à jour tôt le matin. Comment puis-je le faire à partir de la ligne de commande sur Windows 2012?
Sur Windows 2008, j'aurais utilisé la at
commande,
at 2am shutdown -r -f -c "restart"
et pris le reste de l'après-midi.
Mais sur Windows 2012, l'exécution de cette commande me dit que
The AT command has been deprecated. Please use schtasks.exe instead.
Ainsi, la commande équivalente avec schtasks.exe pourrait être
schtasks /create /sc once /tn restart /tr "shutdown - r -f ""restart""" /st 02:00
En plus d'être très oubliable, cette commande a un autre inconvénient important de : il planifie la tâche pour deux heures aujourd'hui -pas beaucoup moins que je utiliser suis réveillé à 1h du matin pour l' exécuter.
Selon l'aide de schtasks.exe, le /sd
commutateur de définition de la date de début n'est pas applicable avec /sc once
. Donc, même si je voulais taper la date de demain au format mm / jj / aaaa - et je ne le fais pas - je ne peux pas faire ça.
La seule solution possible que j'ai trouvée est ici , où Kevin Traas suggère de créer un fichier de commandes pour créer une tâche planifiée juste avant minuit qui attend quelques minutes, puis crée une autre tâche planifiée pour exécuter la commande que vous souhaitez réellement exécuter. Intelligent, mais loin d'être aussi pratique que at
.
la source
Réponses:
La
shutdown
commande elle-même possède un paramètre de délai/t
qui retarde un arrêt pendant un certain nombre de secondes jusqu'à 10 ans. Si vous souhaitez planifier un arrêt dans 14 heures, par exemple, vous pouvez exécuterVous pouvez également ajouter une raison au
/d
paramètre ou un commentaire avec/c
; courirshutdown /?
pour plus de détails.la source
Malgré la documentation, le
/SD
paramètre semble être compatible avec le/SC ONCE
. La tâche est créée avec succès pour s'exécuter à la date indiquée, à l'heure indiquée. (Testé sur W8 et W7)De plus, la documentation de XP
schtasks.exe
va jusqu'à dire que le/SD
paramètre est requis lors de l'utilisation/SC ONCE
, donc j'imagine qu'il existe un bon nombre de scripts utilisant la combinaison.Exemple:
Si aller à l'encontre de la documentation ne vous convient pas, envisagez de générer directement le fichier XML (le schéma est ici ), qui est définitivement pris en charge et prend définitivement en charge une tâche planifiée pour s'exécuter une fois à une date ultérieure. Un moyen simple d'obtenir le fichier approprié consiste à le créer dans le
mmc
composant logiciel enfichable Planificateur de tâches et à utiliser la commande d'exportation .Exemple:
Commande à importer:
la source
/sd
soutien. C'est aussi intéressant à propos de l'importation XML - bien que personnellement je ne me soucie pas d'aller à l'encontre de la documentation. Donc au moins c'est possible - juste beaucoup, beaucoup plus difficile qu'auparavantat
./sd
ne fonctionne pas avec/sc once
Windows Server 2008. Il en résulteERROR: Incorrect Start Date.
/SD 06/14/2013
.J'ai fini par créer
runat.ps1
pour reproduire certaines des fonctionnalités simples deat
, en incorporant la sagesse de la réponse de Mitch.La syntaxe est
runat (time) (command)
, par exempleSi vous aussi, vous êtes nostalgique du bon vieux temps où vous n'aviez pas à taper ...
... alors vous pouvez l'installer en exécutant cette commande powershell:
Ou vous pouvez télécharger manuellement le
runat.ps1
script ici .la source
Je l'ai utilisé dans un script pour 2012 R2 et fonctionne bien; Il créera une tâche quotidienne qui redémarrera le serveur à 4h30.
Veuillez vous assurer que vous l'exécutez à partir d'une invite CMD avec des privilèges administratifs.
Andy
la source
Juste un autre script PowerShell pour redémarrer par programme l'ordinateur le lendemain à l'heure spécifiée
la source
Je suggère d'utiliser la commande schtasks avec le paramètre / f.
En utilisant / f, s'il existe une tâche du même nom, elle est modifiée.
Il est très utile pour déployer des tâches via des scripts.
Un exemple complet d'un redémarrage du serveur de planification:
Extrait de: http://www.sysadmit.com/2016/09/windows-programar-apagado-o-reinicio-automatico.html
la source
Si l'objectif est simplement de redémarrer après l'installation des mises à jour, vous pouvez utiliser le module PSWindowsUpdate pour installer les mises à jour. Vous pouvez le télécharger ici . Une fois installé, ouvrez simplement Powershell et tapez
la source
Ce script vous permet de planifier le redémarrage de plusieurs serveurs à une date / heure spécifique.
https://gallery.technet.microsoft.com/Schedule-restart-of-2c1131fb?redir=0
la source