Details zu Patches via MPR aus der Registry auslesen.

Moderator: MVogt

Post Reply
User avatar
Theo_Gottwald
Posts: 367
Joined: 03. Oct 2009, 08:57
Location: Herrenstr.11 * 76706 Dettenheim
Contact:

Details zu Patches via MPR aus der Registry auslesen.

Post by Theo_Gottwald » 21. May 2017, 19:58

Hier gibt es ein paar kleine "Todo's" die man wissen muß, dann kann man die Patches und Details dazu auch aus der Registry auslesen und ggf. auswerten.

1. Da wir aus der 64-bit Registry lesen wollen - nicht aus der vom WOW64 (32-bit) müßen wir das OPT\64 voranstellen.

2. Mit FEK\ lesen wir dann alle "Keys" aus (Quasi die Verzeichnisse der Registry) - Anzeige hier im Beispielskript via Messagebox.

3. Mit FER\ lesen wir dann die Einzelwerte. Anzeige im Skript via Bubble-Text.

Man könnte nun auch noch via "IVC\" prüfen ob ein bestimmter Text enthalten ist - z.B. "KB123456" und so feststellen ob ein bestimmter Patch installiert ist.
Aus dem Editor läuft das Skript nachvollziehbar langsam, damit man dem Skript auch folgen kann.
Jedoch als EXE kompiliert wird es in Rekordzeit abgearbeitet sein, und das ist ja auch das Ziel.

Code: Select all

KRM\2
VAR\$$REG=SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages
OPT\64
FEK\hlm|$$REG|dokey|$$key
WPS\fertig
@

:dokey
MBX\$$key
FER\hlm|$$REG\$$key|doent|$$val
@

:doent
SBT\1+|$$val
@

User avatar
Theo_Gottwald
Posts: 367
Joined: 03. Oct 2009, 08:57
Location: Herrenstr.11 * 76706 Dettenheim
Contact:

Re: Details zu Patches via MPR aus der Registry auslesen.

Post by Theo_Gottwald » 30. Jul 2017, 20:09

Hier nun das Skript so abgeändert, daß es nur Stellen anzeigt wo eine bestimmter,
anzugebender Suchstring vorkommt.

Code: Select all

' +++ main_Registry-Skript.rem +++
' Zweck: 
' erstellt am: 30.07.2017
' von: Theo Gottwald
'========================
'#EXE:?path
'#SPI:ForceWrite
'#SPI:VBRun
'#SPI:NoAuto
'#SPI:x64
'#FDC:Ask
'#MAN:ra

KRM\2
GIP\Suchstring?
VAR\$$SRC=$v1$

VAR\$$REG=SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages
OPT\64
FEK\hlm|$$REG|dokey|$$key
WPS\fertig
@

:dokey
FER\hlm|$$REG\$$key|doent|$$VAL
@

:doent
IVC\$$VAL|$$SRC
   SBT\10+|$$val
EVC\
@

User avatar
Theo_Gottwald
Posts: 367
Joined: 03. Oct 2009, 08:57
Location: Herrenstr.11 * 76706 Dettenheim
Contact:

Re: Details zu Patches via MPR aus der Registry auslesen.

Post by Theo_Gottwald » 30. Jul 2017, 20:13

Hier eine ganz andere Vorgehensweise die mittels eines WMI-Batchfiles nach Patchen sucht.

Code: Select all

' +++ main_If_Patch.rem +++
' Zweck: 
' erstellt am: 15.05.2017
' von: Theo Gottwald
'========================
'#EXE:?path
'#SPI:ForceWrite
'#SPI:VBRun
'#SPI:NoAuto
'#SPI:x64
'#FDC:Ask
'#MAN:ra

' Hier das MPR-Skript
' verwendet "wmic qfe get hotfixid | find "KB4012212" > c:\temp\KB4012212.txt"
VAR\$$HOT=KB4016871
VAR\$$PAT=?path\$$HOT
VAR\$$PAF=$$PAT.txt
VAR\$$CMD=wmic qfe get hotfixid | find $dq$$$HOT$dq$ > $dq$$$PAF$dq$
VAR\$$ZIE=$$PAT.bat
CTF\$$ZIE<$$CMD
EXE\$$ZIE
VAR\$$PID=$v4$
WPT\$$PID
CFF\$$PAF>$$RES
GSL\$$RES>$$RES
IVV\$$RES!0
   MBX\Patch $$HOT installiert.
ELSE
   MBX\Patch $$HOT ist nicht installiert.
EVV\
@
' Hier das Batchfile nur zur Ansicht, dieses wird vom Skript dynamisch während dem Skriptlauf erzeugt!

Code: Select all

wmic qfe get hotfixid | find "KB4016871" > "[Projektpfad]\if_patch\KB4016871.txt"

Post Reply

Return to “Package Robot”

Who is online

Users browsing this forum: No registered users and 1 guest