information Agent Windows Update à distance

Le
Philemil
Bonjour à tous

Il est possible de déterminer ainsi si une machine est en attente de
reboot suite à l'installation des maj par l'agent Windows Update, et
ceci à distance :



sNomOrdi="serveur1"
Set ComputerStatus = CreateObject("Microsoft.Update.SystemInfo",NomOrdi)
wscript.echo sNomOrdi & " : " & Cstr(ComputerStatus.RebootRequired)

-

Est-il possible d'avoir la même info pour savoir si la machine est:

- en attente de download des maj
- en attente d'installation des maj

Merci d'avance
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles LAURENT [MVP]
Le #18624811
"Philemil" wrote:

Bonjour à tous



Bonjour,

Il est possible de déterminer ainsi si une machine est en attente de
reboot suite à l'installation des maj par l'agent Windows Update, et
ceci à distance :

------------------------------------------------------

sNomOrdi="serveur1"
Set ComputerStatus = CreateObject("Microsoft.Update.SystemInfo",NomOrdi)
wscript.echo sNomOrdi & " : " & Cstr(ComputerStatus.RebootRequired)

-------------------------------------------------------

Est-il possible d'avoir la même info pour savoir si la machine est:

- en attente de download des maj
- en attente d'installation des maj



Je ne pense pas qu'il soit possible de différencier ces deux états. Il est
toutefois possible de déterminer si le poste à encore besoin de télécharger
et/ou d'installer des correctifs :

--- Couper ici : CodeSnippet.vbs ---
Set oSysInfo=CreateObject("Microsoft.Update.SystemInfo")
Set oSearcher=CreateObject("Microsoft.Update.Searcher")
Set oRes=oSearcher.Search("Type='Software' and IsInstalled=0")
WScript.Echo "Updates needed : " & oRes.updates.Count
WScript.Echo "Reboot required : " & oSysInfo.RebootRequired
--- Couper ici : CodeSnippet.vbs ---

Note: Si les correctifs sont installés et qu'un redémarrage de la machine
est nécessaire pour finaliser l'installation alors "Updates needed=0" et
"Reboot required=True"

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Gilles LAURENT [MVP]
Le #18633771
Bonjour,

En fait, l'interface IUpdate expose les propriétés IsDownloaded et
IsInstalled. Le script ci-dessous permet de déterminer si des correctifs sont
nécessaires pour la machine locale et dans l'affirmative de déterminer si les
correctifs sont téléchargés ou non :

--- CodeSnippet.vbs ---
Set oSysInfo=CreateObject("Microsoft.Update.SystemInfo")
Set oSearcher=CreateObject("Microsoft.Update.Searcher")
Set oRes=oSearcher.Search("Type='Software' and IsInstalled=0")
WScript.Echo "Updates needed : " & oRes.Updates.Count
WScript.Echo "Reboot required : " & oSysInfo.RebootRequired

For nIndex=0 To oRes.Updates.Count-1
Set oUpdate=oRes.Updates.Item(nIndex)
WScript.Echo " Title : " & oUpdate.Title
WScript.Echo " Downloaded : " & oUpdate.IsDownloaded
WScript.Echo
Next
--- CodeSnippet.vbs ---

Note: Ici, la propriété IsInstalled de la classe IUpdate sera toujours False
car la clause WHERE stipule de rechercher uniquement les correctifs non
installés.

L'interface IUpdate :

--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Philemil
Le #18638511
Gilles LAURENT [MVP] a écrit :
Bonjour,



Bonjour,


En fait, l'interface IUpdate expose les propriétés IsDownloaded et
IsInstalled. Le script ci-dessous permet de déterminer si des correctifs sont
nécessaires pour la machine locale et dans l'affirmative de déterminer si les
correctifs sont téléchargés ou non :

--- CodeSnippet.vbs ---
Set oSysInfo=CreateObject("Microsoft.Update.SystemInfo")
Set oSearcher=CreateObject("Microsoft.Update.Searcher")
Set oRes=oSearcher.Search("Type='Software' and IsInstalled=0")
WScript.Echo "Updates needed : " & oRes.Updates.Count
WScript.Echo "Reboot required : " & oSysInfo.RebootRequired

For nIndex=0 To oRes.Updates.Count-1
Set oUpdate=oRes.Updates.Item(nIndex)
WScript.Echo " Title : " & oUpdate.Title
WScript.Echo " Downloaded : " & oUpdate.IsDownloaded
WScript.Echo
Next
--- CodeSnippet.vbs ---

Note: Ici, la propriété IsInstalled de la classe IUpdate sera toujours False
car la clause WHERE stipule de rechercher uniquement les correctifs non
installés.




OK, je vais essayer de me débrouiller ainsi, mais il est dommage que
l'interface ISystemInformation n'apporte que la propriété
RebootRequired,alors que suivant les paramètres du client WUA, la
machine peut être en attente de download, ou en attente d'installation

J'ai par ailleurs trouvé le fichier log :
%SystemRoot%SoftwareDistributionReportingEvents.log

qui donne l'état de WUA , en analysant la dernière ligne, ce devrait
être pas mal.

En tous les cas merci bien pour ces informations

L'interface IUpdate :



Publicité
Poster une réponse
Anonyme