Bonjour.
J'essaie de faire à la main un script de windows update via le réseau.
J'ai téléchargé plein de hotfixes, j'ai les lignes de commandes qui vont bien pour les installer ...
Je voudrais exploiter la base de registre de windows pour savoir les hotfixes déjà installés. J'exporte donc les données de la base de registre qui m'intéressent.
je me retrouve avec un fichier comme ça :
Mon but est d'obtenir une liste avec que des KB?????? (où ? est un digit)[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB890046]
"Installed"=dword:00000001
"Comments"="Correctif Windows 2000 - KB890046"
"Backup Dir"=""
"Fix Description"="Correctif Windows 2000 - KB890046"
"Installed By"=""
"Installed On"=""
"Service Pack"=dword:00000005
"Valid"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB890046\File 1]
"Flags"=""
"New File"=""
"New Link Date"=""
"Old Link Date"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB893756]
"Installed"=dword:00000001
"Comments"="Correctif Windows 2000 - KB893756"
"Backup Dir"=""
"Fix Description"="Correctif Windows 2000 - KB893756"
"Installed By"=""
"Installed On"=""
"Service Pack"=dword:00000005
"Valid"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB893756\File 1]
"Flags"=""
"New File"=""
"New Link Date"=""
"Old Link Date"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KB896358]
"Installed"=dword:00000001
"Comments"="Correctif Windows 2000 - KB896358"
"Backup Dir"=""
"Fix Description"="Correctif Windows 2000 - KB896358"
"Installed By"=""
"Installed On"=""
"Service Pack"=dword:00000005
"Valid"=dword:00000001"
Déjà rien qu'avec ce fichier, je fais :
Rien qui sort
Code : Sélectionner tout - Visualiser dans une fenêtre à part etienne@info1:~/shelltest/windowsupdate/hotfixes $ cat hotfix.unix.reg | grep HKEY
ok je me dis, peut être qu'il interprète le fichier comma binaire ou je ne sais quoi :
Rien qui sort
Code : Sélectionner tout - Visualiser dans une fenêtre à part etienne@info1:~/shelltest/windowsupdate/hotfixes $ cat hotfix.unix.reg | grep -a HKEY
Admettons ...
J'arrive à diminuer la taille de mon fichier en faisant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part cat hotfix.unix.reg | grep -a []]
Après j'essaie d'un peu surcharger tout ça :
Rien ne sort
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 etienne@info1:~/shelltest/windowsupdate/hotfixes $ cat hotfix.unix.reg | grep -a []] | grep -E [:digit:]{6} etienne@info1:~/shelltest/windowsupdate/hotfixes $ cat hotfix.unix.reg | grep -a []] | grep -aE [:digit:]{6} etienne@info1:~/shelltest/windowsupdate/hotfixes $ cat hotfix.unix.reg | grep -a []] | grep -aE [[:digit:]]{6}![]()
J'obtiens de meilleurs résultats (pour la validité de mes regexp) avec sed qu'avec grep ...
Je sens l'appel du perl, mais avant le plonger dans perl, j'aimerai bien comprendre.
Merci d'avance.
Partager