Comment forcer Windows à rechercher des mises à jour?

25

Après une nouvelle installation de Windows - XP ou 7 - comment "forcer" les mises à jour Windows?

Je ne veux pas avoir de "vieilles" mises à jour Windows après une semaine, donc cela pourrait-il être fait en "une seule étape"? Existe-t-il des commandes "magiques" qui forcent Windows à rechercher les mises à jour et, le cas échéant, à les installer?

LanceBaynes
la source

Réponses:

12

Vous pouvez rechercher et installer des mises à jour automatiquement à l'aide d'un script. Cela fonctionnera sous XP ou Windows 7.

Il existe un certain nombre de scripts disponibles en téléchargement, voici le mien :

' Written in 2007 by Harry Johnston, University of Waikato, New Zealand.
' This code has been placed in the public domain.  It may be freely
' used, modified, and distributed.  However it is provided with no
' warranty, either express or implied.
'
' Exit Codes:
'   0 = scripting failure
'   1 = error obtaining or installing updates
'   2 = installation successful, no further updates to install
'   3 = reboot needed; rerun script after reboot
'
' Note that exit code 0 has to indicate failure because that is what
' is returned if a scripting error is raised.
'

Set updateSession = CreateObject("Microsoft.Update.Session")

Set updateSearcher = updateSession.CreateUpdateSearcher()
Set updateDownloader = updateSession.CreateUpdateDownloader()
Set updateInstaller = updateSession.CreateUpdateInstaller()

Do

  WScript.Echo
  WScript.Echo "Searching for approved updates ..."
  WScript.Echo

  Set updateSearch = updateSearcher.Search("IsInstalled=0")

  If updateSearch.ResultCode <> 2 Then

    WScript.Echo "Search failed with result code", updateSearch.ResultCode
    WScript.Quit 1

  End If

  If updateSearch.Updates.Count = 0 Then

    WScript.Echo "There are no updates to install."
    WScript.Quit 2

  End If

  Set updateList = updateSearch.Updates

  For I = 0 to updateSearch.Updates.Count - 1

    Set update = updateList.Item(I)

    WScript.Echo "Update found:", update.Title

  Next

  WScript.Echo

  updateDownloader.Updates = updateList
  updateDownloader.Priority = 3

  Set downloadResult = updateDownloader.Download()

  If downloadResult.ResultCode <> 2 Then

    WScript.Echo "Download failed with result code", downloadResult.ResultCode
    WScript.Echo

    WScript.Quit 1

  End If

  WScript.Echo "Download complete.  Installing updates ..."
  WScript.Echo

  updateInstaller.Updates = updateList

  Set installationResult = updateInstaller.Install()

  If installationResult.ResultCode <> 2 Then

    WScript.Echo "Installation failed with result code", installationResult.ResultCode

    For I = 0 to updateList.Count - 1

      Set updateInstallationResult = installationResult.GetUpdateResult(I)
      WScript.Echo "Result for " & updateList.Item(I).Title & " is " & installationResult.GetUpdateResult(I).ResultCode

    Next

    WScript.Quit 1

  End If

  If installationResult.RebootRequired Then

    WScript.Echo "The system must be rebooted to complete installation."

    WScript.Quit 3

  End If

  WScript.Echo "Installation complete."

Loop 

Vous exécutez cela à partir de la ligne de commande comme ceci:

cscript wsusupdate.vbs

Mon script n'est que peu fonctionnel mais peut toujours être utile. Il existe d'autres scripts de ce type avec de nombreuses fonctionnalités supplémentaires, essayez une recherche Google.

Harry Johnston
la source
Je vais essayer celui-ci! Pendant ce temps, quelqu'un a-t-il une expérience avec ce script?
LanceBaynes
Ce script se termine avec <59, 3> <null>: 0x80240044. Une idée pourquoi cela échoue? J'ai essayé de rechercher les méthodes auxquelles cela fait référence, mais je n'ai pas pu comprendre ce qui se passe. Pouvez-vous me diriger dans la bonne direction?
daviesgeek
@daviesgeek: 0x80240044 est WU_E_PER_MACHINE_UPDATE_ACCESS_DENIED c'est-à-dire que vous devez exécuter le script avec des autorisations élevées.
Harry Johnston
Ah merci. Comment puis-je élever les autorisations de la ligne de commande? (désolé, je suis un gourou de Linux, pas un Windows ...)
daviesgeek
1
Vista / Win7: Ouvrez le menu Démarrer, tapez cmd et appuyez sur control-shift-ENTER au lieu de simplement ENTER. Sur Windows 8, je pense que la touche de raccourci Windows-X fait apparaître un menu qui comprend une ligne de commande administrative. Ou sur l'un ou l'autre système, vous pouvez trouver cmd.exe via l'Explorateur, cliquez avec le bouton droit et sélectionnez Exécuter en tant qu'administrateur.
Harry Johnston
41

Au-delà de la manière habituelle d'utiliser Windows Update, vous pouvez forcer une vérification à partir d'une ligne de commande.

Ouvrez une invite de commande administrateur et exécutez:

C:\> %windir%\system32\wuauclt.exe /detectnow

Wuauclt.exe est le client AutoUpdate de Windows Update et est utilisé pour vérifier les mises à jour disponibles (pour les différentes versions de la plate-forme MS Windows) à partir de Microsoft Update.

Cela ne forcera pas une installation.

Ƭᴇcʜιᴇ007
la source
1
Juste pour ajouter: cela fonctionne à la fois sur XP, Vista et 7
Canadian Luke REINSTATE MONICA
@Luke Cela fonctionne également pour Windows 2000 SP4. :)
Ƭᴇcʜιᴇ007
1
Cependant, pour une nouvelle installation, vous feriez mieux de vérifier les mises à jour via l'interface graphique (pour Windows Vista +) ou le site Web Windows Update (Pre-Vista). Je pense que cela donnera au processus de téléchargement une priorité plus élevée. Par défaut, le BITS télécharge uniquement une mise à jour lorsque la connexion réseau n'est pas occupée.
billc.cn
2
Une version abrégée serait la touche Windows + R, puis tapez wuauclt / detectnow, puis appuyez sur entrée.
Steve Rathbone
5

Pour vérifier les mises à jour, accédez au Panneau de configuration, Sécurité, Windows Update, puis cliquez sur "Rechercher les mises à jour".

entrez la description de l'image ici

surfasb
la source
et sur winXP? :)
LanceBaynes
Sous Windows XP, appuyez sur Démarrer-> Tous les programmes -> (Windows | Microsoft) Update et effectuez une recherche automatique ou manuelle.
Jens Erat
1
Ce n'est pas pour winXP
M. de CA
2

Une autre façon de forcer une véritable nouvelle analyse des mises à jour consiste à nettoyer l'ardoise, en supprimant toutes les mises à jour stockées dans % windir% \ Windows \ SoftwareDistribution \ Download :

    NET STOP wuauserv
    RD /S /Q %windir%\SoftwareDistribution\Download
    NET START wuauserv

Ensuite, allez dans Windows Update et "Rechercher les mises à jour". Cela peut prendre une heure, car chaque fichier pouvant être mis à jour sur votre volume système est vérifié (les "Vérifications des mises à jour" suivantes seront rapides). Cette approche élimine les erreurs, les mises à jour bâclées et donne un système propre et à jour, du moins dans la mesure où MS le voit.

rajah
la source
Merci, bonne réponse! Je cherchais quelque chose de plus puissant que les autres réponses. Mon installation de Windows 10 est bâclée d'une certaine manière, et les mises à jour ne semblent plus venir. Je dois le forcer à mettre à jour, j'espère que cela fonctionne.
AzP
1

j'utilise un outil tiers appelé wuinstall pour mettre à jour l'installation de nouvelles fenêtres. avec cela, vous pouvez automatiser l'ensemble du processus de mise à jour, y compris les redémarrages automatiques. Je pense que c'est l'un des moyens les plus rapides d'obtenir une nouvelle fenêtre à jour sans la présence des utilisateurs.

hansi
la source
0

J'ai constaté que si, dans le cadre de votre nouvelle installation sur Windows 7, vous avez mis à niveau IE ou que vous n'avez pas encore exécuté IE et répondu aux questions d'introduction, Windows Update vous donnera une erreur. Je n'ai pas non plus trouvé de moyen de passer de Windows Update à Microsoft Update sans passer par l'interface graphique, donc je lance manuellement IE, le fais initialiser puis je configure Windows Update via l'interface graphique, afin que je puisse passer à Microsoft Update et éviter le erreur initiale. Votre kilométrage peut varier.

Kent
la source
0

J'ai réussi à suivre les étapes de ce message , en installant IE8 et WI4.5 , cela déclenchera des mises à jour automatiques pour démarrer les téléchargements.

somme de contrôle
la source