web-dev-qa-db-fra.com

Microsoft Windows - Installer les mises à jour et redémarrer (au lieu de l'installation et de l'arrêt)

J'ai une box Windows que je souhaite gérer à distance. Lorsque je me suis connecté ce matin, le menu Démarrer affiche un! à côté du bouton Arrêter, m'informant qu'il y a des mises à jour à installer. Mais la seule option qu'il me donne pour installer les mises à jour est d'arrêter ensuite. N'y a-t-il pas un moyen de lui dire "d'installer les mises à jour et de redémarrer"?

28
CoolUserName

Oui. Vous pouvez installer toutes les mises à jour disponibles - via Windows Update dans votre panneau de configuration ou le bouclier jaune WU dans la barre d'état système près de l'horloge. Ensuite, lorsque cela est fait, vous pouvez faire un redémarrez à partir du menu Démarrer (ou appelez shutdown/r à partir de la ligne de commande.)

La seule autre façon d'automatiser tout cela en une seule étape consiste à écrire votre propre code (pas seulement un simple script), ou à l'aide d'outils complémentaires, gratuits ou commerciaux, de MS ou de tiers.

15
mfinni

L'installation de mises à jour lors du redémarrage/arrêt présente certains avantages:

  • L'installation n'est pas ralentie ou altérée par d'autres logiciels en cours d'exécution, AVP, etc.

  • Il n'y a pas d'interface utilisateur à gérer, cliquez dessus, etc. Cela passe plus vite. Quand c'est fait, en cas de redémarrage, l'ordinateur est prêt à démarrer.

Malheureusement, il ne semble pas possible de le faire avec les outils fournis par Microsoft. J'utilise cet utilitaire gratuit qui le fera pour vous. J'ai créé un raccourci avec les paramètres suivants et l'ai placé dans le menu du bouton Démarrer:

ShutdownWithUpdates /r /f

D'après ce que je vois, il peut également redémarrer et installer des mises à jour sur un poste de travail distant dans une configuration Active Directory.

En savoir plus ici .

10
ahmd0

Je vois que c'est une question plus ancienne, mais il est maintenant possible d'installer des mises à jour puis de redémarrer à l'aide de Powershell. Plus précisément, vous devez télécharger et installer le module Windows Update PowerShell . Ensuite, vous pouvez exécuter la commande Get-WUInstall -AcceptAll -AutoReboot (il existe d'autres commutateurs et arguments pour contrôler les mises à jour installées). Cela entraînera Windows pour télécharger les mises à jour, les installer et puis redémarrer lorsque vous avez terminé. À mon avis, c'est idéal pour les serveurs, car vous pouvez exécuter une commande, puis vous éloigner.

8
Charles Burge

Cela apparaît en haut de la recherche Google "Installer et redémarrer, pas installer et arrêter". Par conséquent, j'ai pensé que je devrais ajouter une solution que j'ai fini par écrire pour ce problème ennuyeux exact (les gens me disent que Win10 a cela par défaut, mais je ne suis pas sur Win10).

Cela fonctionne en utilisant deux fichiers batch. Le premier est appelé "rebootAfterUpdates.bat"

@echo OFF
@setlocal ENABLEEXTENSIONS
@set REBOOT_KEY="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired"
@SET REGDWORD=REG_DWORD
@SET VALUEVAL=0x1

@REM skip=4 may be required on some versions of Windows
@FOR /F "usebackq skip=2 tokens=1-3" %%A IN (`reg query %REBOOT_KEY% /s 2^>nul`) DO (
    @IF %%B EQU %REGDWORD% (
        @IF %%C EQU %VALUEVAL% (
            call :REBOOT
        )
    )
)

:NOREBOOT
@Echo No reboot required
exit /b 36877
REM 36877 is 0x900D (i.e. Good, no reboot required)
:REBOOT
@ECHO Here We REBOOT
SHUTDOWN -r -f -t 10
exit /b 3059719
REM 3059719 is 0x2EB007 (i.e. REBOOT was triggered)

Le second est appelé "scheduleRebootAfterUpdates.bat":

@schtasks /query /TN RebootAfterUpdates > doh
@findstr /B /I "RebootAfterUpdates" doh >nul
@if %errorlevel%==0  goto :update
@goto :create

:update
@del doh
@SCHTASKS /Change /TN RebootAfterUpdates /SD %DATE%
@echo Task updated to execute today
@goto :exitBat

:create
@del doh
@SCHTASKS /Create /SC ONCE  /TN RebootAfterUpdates /TR "C:\tmp\Scripts\rebootAfterUpdates.bat" /ST 23:55 /sd %DATE%  /ru SYSTEM /f
@echo Task created. Set the "Wake to Execute Flag" through Task Scheduler GUI

:exitBat
@exit /b

Les deux fichiers sont supposés être dans C:\tmp\Scripts\Lorsque Windows vous harcèle à "Installer les mises à jour", laissez-le commencer à installer les mises à jour. Pendant qu'il installe les mises à jour, exécutez "scheduleRebootAfterUpdates.bat".

Contexte de fonctionnement:

Si les mises à jour nécessitent un redémarrage, certaines clés de registre (sous la clé de Registre WindowsUpdate) sont définies avec la valeur 0x1.

Nous vérifions si ces clés existent dans le premier fichier bat. S'ils le font, redémarrez immédiatement.

Normalement, je déclenche des mises à jour au moment de quitter le travail (et environ 4 à 5 heures avant minuit).

La deuxième batte crée une tâche planifiée (ou met à jour une tâche existante pour qu'elle s'exécute 5 min avant minuit) et cette tâche planifiée exécute la première batte.

Donc ... bien que n'étant pas la solution la plus élégante, en deux étapes (1. déclenchez 'Installer les mises à jour' et 2. exécutez le deuxième fichier bat), votre machine redémarrera vers minuit en supposant que l'installation des mises à jour a réussi.

De plus, vous pouvez définir la "Wake machine to execute task" à partir de l'interface graphique du Planificateur de tâches ainsi que vérifier le code retour d'exécution pour voir ce qui s'est passé la dernière fois.

P.S. Testé sur Win7 64 bits.

2
Abhijit Karnik

Il n'y a aucun moyen de lancer manuellement une "Installer les mises à jour et redémarrer". Vous pouvez définir une heure d'installation des mises à jour, puis spécifier que la machine peut redémarrer après les mises à jour automatiques, soit via le panneau de configuration Mises à jour automatiques (ou Windows Update), directement via le Registre, soit via la stratégie de groupe:

http://support.Microsoft.com/kb/32801

Mais en ce qui concerne l'option "Installer les mises à jour et redémarrer" en un clic, il n'y en a pas.

2
Glenn Sullivan