Liste des Kb Microsoft après le SP3 pour XP

Liste des Kb Microsoft après le SP3 pour XP - Win NT/2K/XP - Windows & Software

Marsh Posté le 10-11-2008 à 21:55:26    

Bonjour à tous!  :hello:  
 
Je suis à la recherche de la liste des Kb Microsoft pour Windows XP sortie après le Service Pack 3.
Ceci dans le but de les intégrer via Nlite.  
 
Merci d'avance.

Reply

Marsh Posté le 10-11-2008 à 21:55:26   

Reply

Marsh Posté le 11-11-2008 à 11:57:36    

Les hotfix sont pas tous les mêmes selon les conf et les logiciels installés. Le mieux est de lister tous tes hotfix via un script et des les classer par date ensuite, tu pourras en déduire la liste de ce que tu cherches.

Reply

Marsh Posté le 11-11-2008 à 12:04:41    

ouahou et comment tu fais ça?

Reply

Marsh Posté le 11-11-2008 à 12:47:06    

tu ouvres notepad, tu colles le code ci dessous dedans, tu l'enregistres genre : listeupdate.txt.
 Tu le renommes en listeupdate.vbs.
Tu crées un répertoire à la racine de C:\ qui se nomme FSO
Tu éxécutes le .vbs en double cliquant dessus.
Après tu ouvres le fichier crée : C:\FSO\ScriptLog.txt et tu y trouveras les informations que tu cherches :)
 
Set objFSO = CreateObject("Scripting.FileSystemObject" )
Set objFile = objFSO.CreateTextFile("C:\FSO\ScriptLog.txt", true)
 
On Error resume next
Set objSession = CreateObject("Microsoft.Update.Session" )
Set objSearcher = objSession.CreateUpdateSearcher
intHistoryCount = objSearcher.GetTotalHistoryCount
 
Set colHistory = objSearcher.QueryHistory(1, intHistoryCount)
 
For Each objEntry in colHistory
    objFile.writeline ("Operation: " & objEntry.Operation)
    objFile.writeline ("Result code: " & objEntry.ResultCode)
    objFile.writeline ("Exception: " & objEntry.Exception)
    objFile.writeline ("Date: " & objEntry.Date)
    objFile.writeline ("Title: " & objEntry.Title)
    objFile.writeline ("Description: " & objEntry.Description)
    objFile.writeline ("Unmapped exception: " & objEntry.UnmappedException)
    objFile.writeline ("Client application ID: " & objEntry.ClientApplicationID)
    objFile.writeline ("Server selection: " & objEntry.ServerSelection)
    objFile.writeline ("Service ID: " & objEntry.ServiceID)
    i = 1
    For Each strStep in objEntry.UninstallationSteps
        objFile.Objwriteline i & " -- " & strStep
        i = i + 1
    Next
    objFile.Objwriteline "Uninstallation notes: " & objEntry.UninstallationNotes
    objFile.Objwriteline "Support URL: " & objEntry.SupportURL
    objFile.Objwriteline
Next

Reply

Marsh Posté le 11-11-2008 à 12:52:19    

dans ajout/suppression de programme il faut cocher "afficher les mises à jour"

Reply

Marsh Posté le 11-11-2008 à 13:31:15    

http://www.update.microsoft.com/wi [...] aspx?ln=fr
 
--> Utiliser les options pour administrateurs --> consultez le Catalogue Windows Update.
Recherche "Windows XP" puis en trian par date,....
le SP3 de XP etant sortis le 28/10/2008


---------------
#mais-chut
Reply

Marsh Posté le 11-11-2008 à 14:13:48    

Ok merci à tous je test ce soir en rentrant du boulot. Et oui y en a qui bosse le 11 novembre.

Reply

Marsh Posté le 11-11-2008 à 20:35:04    

bon j'ai trouvé les Kb installés sur ma machine.
Par contre y a t-il un moyen de les récupérer sur mon poste (stocker à un endroit) ou faut-il que je les télécharge un par un sur le site de microsoft ?

Reply

Marsh Posté le 12-11-2008 à 09:22:13    

Petit Up

Reply

Marsh Posté le 12-11-2008 à 09:45:48    

Faut voir aussi que certaines maj ne servent à rien d'être installées puisqu'elles remplacent des fichiers remplacés par des maj plus récentes.

Reply

Marsh Posté le 12-11-2008 à 09:45:48   

Reply

Marsh Posté le 12-11-2008 à 16:37:27    

c'est à dire ?

Reply

Marsh Posté le 12-11-2008 à 17:18:52    

Par exemple tu as des patchs comme le célèbre "Outil de suppression des logiciels malveillants" qui tous les mois annule et remplace le précédent.  
 
=> dans la liste des patches sortis depuis le SP3, il y a des KB qui sont rendu obsolètes par des patches plus récents.


Message édité par vrobaina le 12-11-2008 à 17:19:01

---------------
Les cons, ça ose tout, et c'est même à ça qu'on les reconnait....
Reply

Marsh Posté le 12-11-2008 à 17:24:57    

D'accord donc de toute façon, si je regarde,les Kb dans ajout suppression de programme j'aurais que les derniers installée?
Mais ça ne répond pas à ma question ^^ Les Kb sont quelque part sur mon disque ou non? genre un dossier temp ou autre?

Reply

Marsh Posté le 12-11-2008 à 17:27:37    

Non, tu auras tout.
Je sais que WSUS me dit que telle update remplace telle autre mais je sais pas si on peut en faire un résumé pour avoir les dernières.
 
Sous c:\windows\ tu as des dossiers $NtUninstallKB123456$ qui te dit quelles KB est installé et les fichiers les contenant

Reply

Marsh Posté le 12-11-2008 à 17:32:58    

non malheureusement avec WSUS, on est couic......  il télécharge l'ensemble des màj puis via l'option de nettoyage on peut suprimer les KB obsolète mais j'ai pas vu d'option du genre "affiche moi l'ensemble des KB nécessaires et suffisants à la mise à jour d'un poste WinXP SP3".


---------------
Les cons, ça ose tout, et c'est même à ça qu'on les reconnait....
Reply

Marsh Posté le 12-11-2008 à 17:49:07    

A la rigueur si dans Nlite je met le Kb initial plus celui qu'il remplace c'est pas très grave non?

Reply

Marsh Posté le 03-09-2009 à 11:32:02    

moceibh a écrit :

tu ouvres notepad, tu colles le code ci dessous dedans, tu l'enregistres genre : listeupdate.txt.
 Tu le renommes en listeupdate.vbs.
Tu crées un répertoire à la racine de C:\ qui se nomme FSO
Tu éxécutes le .vbs en double cliquant dessus.
Après tu ouvres le fichier crée : C:\FSO\ScriptLog.txt et tu y trouveras les informations que tu cherches :)
 
Set objFSO = CreateObject("Scripting.FileSystemObject" )
Set objFile = objFSO.CreateTextFile("C:\FSO\ScriptLog.txt", true)
 
On Error resume next
Set objSession = CreateObject("Microsoft.Update.Session" )
Set objSearcher = objSession.CreateUpdateSearcher
intHistoryCount = objSearcher.GetTotalHistoryCount
 
Set colHistory = objSearcher.QueryHistory(1, intHistoryCount)
 
For Each objEntry in colHistory
    objFile.writeline ("Operation: " & objEntry.Operation)
    objFile.writeline ("Result code: " & objEntry.ResultCode)
    objFile.writeline ("Exception: " & objEntry.Exception)
    objFile.writeline ("Date: " & objEntry.Date)
    objFile.writeline ("Title: " & objEntry.Title)
    objFile.writeline ("Description: " & objEntry.Description)
    objFile.writeline ("Unmapped exception: " & objEntry.UnmappedException)
    objFile.writeline ("Client application ID: " & objEntry.ClientApplicationID)
    objFile.writeline ("Server selection: " & objEntry.ServerSelection)
    objFile.writeline ("Service ID: " & objEntry.ServiceID)
    i = 1
    For Each strStep in objEntry.UninstallationSteps
        objFile.Objwriteline i & " -- " & strStep
        i = i + 1
    Next
    objFile.Objwriteline "Uninstallation notes: " & objEntry.UninstallationNotes
    objFile.Objwriteline "Support URL: " & objEntry.SupportURL
    objFile.Objwriteline
Next


 
Merci pour ce script!!!! :jap:  
 


---------------
FeedBack / Jeux en cooperatif LAN ou net
Reply

Marsh Posté le 16-02-2012 à 23:51:20    

C'est tellement plus pratique de générer un fichier qu'on peut lire dans une feuille de calcul (Excel, OpenOffice, FreeOffice...) !
 
Le script à peine modifié peut générer un CSV (avec la première ligne d'entête pour les titres).
 
Je note toutefois que les colonnes d'exceptions retournées sont NULL, la concaténation des constantes avec NULL retourne NULL aussi, et les write correspondants du coup sautent les colonnes.
 
Ces deux colonnes sont donc mises en commentaires (quel intérêt de ces deux colonnes ?)
 
Notez que Microsoft ne sépare pas clairement les numéros de KB, et l'URL de support est trop souvent générique et n'amène pas directement à la page du KB.
 
On pourrait dans ce script rechercher le KB dans la colonne "Title" où il est indiqué entre parenthèses, et générer alors l'URL vers la page Microsoft de ce KB.
 
Avec un peu de travail encore, on pourrait faire rechercher dans cette page web Microsoft l'URL de téléchargement.
Mais peut-être qu'il y a moyen de créer une URL de téléchargement avec le "Service ID" ?
Et dans ce cas aussi faire que le script télécharge tout seul tous les correctifs en une fois...
 
Moi ce qui m'étonne dans ce script c'est qu'on n'y précise nulle part lors de la création de l'objet "Microsoft.Update.Session" et la requête "QueryHistory" effectuée qu'on veut une liste de correctifs depuis ls SP3.
 
Aussi je me demande si ce script ne génère pas plutôt la liste des correctifs depuis le dernier Service Pack installé sur la machine elle-même où on exécute ce script. Si on le lance sur Windows 7, j'ai l'impression qu'il me génère la liste des mises à jour applicables à Windows 7 depuis le Service Pack 1 de Windows 7 (certains de ces correctifs fonctionnant sur XP), et pas les correctifs applicables pour XP depuis le dernier Service Pack 3... Si on veut déployer un XP à jour sans avoir une installation de XP SP3, on va se retrouver avec une liste qui ne correspond pas à ce qu'on veut déployer dans l'image ISO à jour qu'on veut construire avec nLite.
 
 


Set objFSO = CreateObject("Scripting.FileSystemObject" )
Set objFile = objFSO.CreateTextFile("C:\FSO\ListeUpdate.csv", true)
 
On Error resume next
Set objSession = CreateObject("Microsoft.Update.Session" )
Set objSearcher = objSession.CreateUpdateSearcher
intHistoryCount = objSearcher.GetTotalHistoryCount
 
Set colHistory = objSearcher.QueryHistory(1, intHistoryCount)
 
 objFile.write("Operation;" )
 objFile.write("Result code;" )
'objFile.write("Exception;" ) // Ne marche pas
 objFile.write("Date;" )
 objFile.write("Title;" )
 objFile.write("Description;" )
'objFile.write("Unmapped exception;" ) // Ne marche pas
 objFile.write("Client application ID;" )
 objFile.write("Server selection;" )
 objFile.write("Service ID;" )
 objFile.write("Uninstallation steps;" )
 objFile.write("Uninstallation notes;" )
 objFile.write("Support URL;" )
 objFile.writeline
 
For Each objEntry in colHistory
    objFile.write("""" & objEntry.Operation & """;" )
    objFile.write("""" & objEntry.ResultCode & """;" )
   'objFile.write("""" & objEntry.Exception & """;" ) // Ne marche pas
    objFile.write("""" & objEntry.Date & """;" )
    objFile.write("""" & objEntry.Title & """;" )
    objFile.write("""" & objEntry.Description & """;" )
   'objFile.write("""" & objEntry.UnmappedException & """;" ) // Ne marche pas
    objFile.write("""" & objEntry.ClientApplicationID & """;" )
    objFile.write("""" & objEntry.ServerSelection & """;" )
    objFile.write("""" & objEntry.ServiceID & """;" )
 
    objFile.write("""" )
    For Each strStep in objEntry.UninstallationSteps
        objFile.write("#" & strStep)
    Next
    objFile.write(""";" )
 
    objFile.write("""" & objEntry.UninstallationNotes & """;" )
    objFile.write("""" & objEntry.SupportURL & """;" )
    objFile.writeline
Next

Reply

Marsh Posté le 17-02-2012 à 00:03:46    

D'autre part, Microsoft documente un autre script pour Windows Update:
 
http://msdn.microsoft.com/en-us/li [...] s.85).aspx
 
Celui-là effectue les téléchargements, et optionnellement peut aussi les installer.
 
Là encore, ce script Microsoft fait ses recherches en fonction de la machine où il est exécuté.
 
D'un autre côté, Microsoft documente une API pour effectuer des recherches de mises à jour WUA (Windows Update Agent) depuis un autre poste client:
 
http://msdn.microsoft.com/en-us/li [...] s.85).aspx
 
La condition est que l'utilisateur du poste distant ait un privilège administrateur pour interroger les mises à jour à effectuer sur un autre poste du même domaine d'administration Windows (un poste distant qui doit donc aussi être en cours de fonctionnement et connecté au domaine).

Reply

Marsh Posté le 17-02-2012 à 00:11:57    

Enfin l'objet utilisé pour les recherches utilise dans le script ci-dessus un critère de recherche par défaut qui est de ne montrer QUE les mises à jours qui ne sont pas cachées (il va cacher les mises à jour déjà installées) et les mises à jours optionelles (non recommandées par défaut).
 
Sinon il faut lui donner un autre critère de recherche que celui par défaut, ces critères prenant la forme d'une chaine d'une requête SQL, dont les colonnes de recherche sont documentées sur :
 
http://msdn.microsoft.com/en-us/li [...] s.85).aspx

Reply

Marsh Posté le 17-02-2012 à 09:50:25    


Enfin la page suivante documente les colonnes affichées par le script ci-dessus :
 
http://msdn.microsoft.com/en-us/li [...] s.85).aspx
 
Cette page est nécessaire pour interpréter certaines colonnes codées, comme Operation=1 ou 2.
 
Et on voit bien aussi que les deux colonnes que j'ai mises en commentaires (Exception et UnmappedException) ne sont pas documentées (elles peuvent avoir été présentes sur WUA pour XP, mais pas supportées, ou n'exister que parce qu'une vieille version de Windows Scripting Host ajoutait ces champs à certaines classes d'objets).
Ces ceux colonnes devrait être renommées avec "ResultCode" au lieu de "Exception".

Reply

Marsh Posté le 17-02-2012 à 10:19:01    

sympa, merci
mmmm mon fichier est vide. Ya quoi comme pré requis pour que ça marche ?
genre cette commande : Set objSession = CreateObject("Microsoft.Update.Session" )  
 
==> faut-il que le service wuauserv soit en route ?
 
edit : nop fichier toujours vide même avec le service démarré :(


Message édité par akizan le 17-02-2012 à 10:20:17
Reply

Marsh Posté le 29-02-2012 à 14:03:52    

même ça, ça marche pas chez moi, ça me retourne rien :
 
Set objSession = CreateObject("Microsoft.Update.Session" )
Set objSearcher = objSession.CreateUpdateSearcher
 
Set colHistory = objSearcher.QueryHistory(0, 1)
 
For Each objEntry in colHistory
    Wscript.Echo "Title: " & objEntry.Title
    Wscript.Echo "Update application date: " & objEntry.Date
Next

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed