RegKeys durchsuchen mit VBS ** bitte um Hilfe

23/11/2009 - 14:56 von Thorsten Grund | Report spam
Hallo zusammen,


ich bin auf der Suche nach einem Stückchen VBS-Code das die Registry am
Punkt
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall]
alle Unterordner mit Unterschlüssel durchsuchen und auf den Inhalt
"BLAHBLAH" prüft.

Kann mir da jemand nen Tipp geben ??

Danke

Thorsten
 

Lesen sie die antworten

#1 Pegasus [MVP]
23/11/2009 - 15:52 | Warnen spam
"Thorsten Grund" wrote in message
news:
Hallo zusammen,


ich bin auf der Suche nach einem Stückchen VBS-Code das die Registry am
Punkt
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall]
alle Unterordner mit Unterschlüssel durchsuchen und auf den Inhalt
"BLAHBLAH" prüft.

Kann mir da jemand nen Tipp geben ??

Danke

Thorsten



Du kannst das untenstehende Programm als Grundlage benützen. Um den Inhalt
"Blahblah" zu finden, müsstest du bloss die verschiedenen wscript.echo
Zeilen abàndern. Die meisten brauchst du gar nicht - bloss jene, welche
einen String-Inhalt anzeigen, sind für dich relevant. Beachte, dass das
Programm rekursiv arbeitet und daher sàmtliche Unterschlüssel durchsucht.

'-
'Extract all registry data for the specified key and its subkeys.
'23.9.2009 FNL
'-
Const sKeyPath = "Software\Microsoft\Windows\CurrentVersion\Uninstall"
Const HKCR=&H80000000, HKCU=&H80000001, HKLM=&H80000002, HKUS=&H80000003
Const REG_SZ = 1
Const REG_EXPAND_SZ = 2
Const REG_BINARY = 3
Const REG_DWORD = 4
Const REG_MULTI_SZ = 7

Set oReg = GetObject("winmgmts:\\.oot\default:StdRegProv")

oReg.EnumKey HKLM, sKeyPath, aEntryNames
If Not IsNull(aEntryNames) Then
For i = 0 To UBound(aEntryNames)
GetValues sKeyPath & "\" & aEntryNames(i)
Next
End If
WScript.Quit

'--
'Process the current key recursively
'--
Sub GetValues (sPath)
Dim aNames, i

oReg.EnumValues HKLM, sPath, aD_Names, aValueTypes 'Get the data
If Not IsNull(aD_Names) Then
For i = o To UBound(aD_Names)
DisplayData sPath, aD_Names(i), aValueTypes(i)
Next
End If

oReg.EnumKey HKLM, sPath, aK_Names 'Get the subkeys
If Not IsNull(aK_Names) Then
For i = 0 To UBound(aK_Names)
GetValues sPath & "\" & aK_Names(i) '
Next
End If
End Sub
'-
'Display the data for the specified value
'-
Sub DisplayData(sPath, sName, iType)
WScript.Echo "Name: " & sName
Select Case iType
Case REG_SZ
oReg.GetStringValue HKLM, sPath, sName,sValue
WScript.Echo "String=" & sValue
Case REG_EXPAND_SZ
oReg.GetExpandedStringValue HKLM, sPath, sName, esValue
WScript.Echo "Expanded String=" & esValue
Case REG_BINARY
oReg.GetBinaryValue HKLM, sPath, sName,aValues
Line = ""
For Each byteValue In aValues
Line = Line & byteValue
Next
WScript.Echo "Binary=" & Line
Case REG_DWORD
oReg.GetDWORDValue HKLM, sPath, sName,dwValue
WScript.Echo "DWORD=" & dwValue
Case REG_MULTI_SZ
oReg.GetMultiStringValue HKLM, sPath, sName, aValues
Line = ""
For Each sValue In aValues
Line = Line & sValue & vbLf
Next
WScript.Echo "Multi String=" & Line
End Select
End Sub

Ähnliche fragen