Scripting WSUS mises à jour sur un server configuré pour "détecter uniquement"

J'aimerais installer automatiquement les mises à jour du server Windows (sockets en charge par WSUS), mais je ne peux pas avoir l' wuauclt /updatenow pour lancer une installation (ou l'un des autres commutateurs sans papiers).

Il fonctionne sur un post de travail de test, mais je crois que c'est parce que l'installation est réglée sur Automatic Every Day pendant que le server est défini sur Detect Only. Je prévois d'utiliser un autre planificateur tiers plus robuste pour installer des mises à jour certains jours de la semaine, mais aussi des semaines du mois. c'est-à-dire que le server A est installé le premier dimanche du mois, le server B, le deuxième dimanche du mois, etc.

Fondamentalement, je search un équivalent en script pour cliquer sur le button "Installer les mises à jour" sur la boîte de dialog GUI de Windows Update sur le server.

On dirait que vous pouvez le faire avec une API COM (afin que vous puissiez utiliser n'importe quel langage de script qui peut utiliser COM– VBScript, PowerShell, etc.).

L'extrait de VBScript ci-dessous searchra les mises à jour en attente, téléchargez-les et installez-les en silence.

 Option Explicit Dim objUpdateSess Dim objUpdateSearcher Dim objDownloader Dim objInstaller Dim objSearchResult Set objUpdateSess = CreateObject("Microsoft.Update.Session") Set objUpdateSearcher = objUpdateSess.CreateUpdateSearcher() Set objDownloader = objUpdateSess.CreateUpdateDownloader() Set objInstaller = objUpdateSess.CreateUpdateInstaller() ' Search for pending updates Set objSearchResult = objUpdateSearcher.Search("IsAssigned=1 and IsHidden=0 and IsInstalled=0 and Type='Software'") ' Download the pending updates objDownloader.Updates = objSearchResult.Updates objDownloader.Download() ' Install the pending updates objInstaller.AllowSourcePrompts = False objInstaller.ForceQuiet = True objInstaller.Updates = objDownloader.Updates ObjInstaller.Install() 

Ce script n'a absolument aucune vérification des erreurs, alors ne l'utilisez pas vraiment! Il existe une foule de petits scripts que les gens ont écrit pour automatiser ce process sur tout le réseau (certains qui envoient des e-mails, redémarrent automatiquement après l'achèvement, etc.). Faire des searchs et voir ce que vous proposez ou roulez vous-même.

Microsoft a un excellent exemple de vbscript pour installer des mises à jour via Windows Update à l' adresse http://msdn.microsoft.com/en-us/library/windows/desktop/aa387102(v=vs.85).aspx

Il y a quelques ajustements que je ferais pour votre utilisation, comme l'acceptation automatique de tous les EULA et ne pas s'arrêter pour poser des questions.

L'édition de la stratégie de groupe locale est la chose la plus proche que je puisse penser à faire ce dont vous pourriez avoir besoin.

  1. Appuyez sur la touche Windows + R
  2. Type gpedit.msc
  3. Accédez à: Configuration de l'ordinateur -> Composants Windows -> Windows Update
  4. Sous cette rubrique, vous pouvez modifier tous les parameters, mais celui qui vous intéresse le plus est «Configurer les mises à jour automatiques», cette politique vous permettra de sélectionner un jour et une heure pour exécuter des mises à jour Windows.

Si le système fait partie d'un domaine, vous pouvez le faire avec une stratégie de groupe.