VBScript I Finden eines Registry Unterschlüssels mit bestimmten Key und Stringwert
Guten Tag,
ich habe folgendes Problem:
Aus dem Registrierungsschlüssel HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall will ich bestimmte Unterschlüssl herausfiltern. Und zwar alle Unterschlüssel die einen Wert Publisher enthalten und dieser gleich einem Stringwert ist, zB "Microsoft".
Ein Script zum "Auslesen" habe ich, aber ich kriege es nicht hin nur den Bestimmten Schlüssel auszugeben.
Kann mir da jemand weiterhelfen?
ich habe folgendes Problem:
Aus dem Registrierungsschlüssel HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall will ich bestimmte Unterschlüssl herausfiltern. Und zwar alle Unterschlüssel die einen Wert Publisher enthalten und dieser gleich einem Stringwert ist, zB "Microsoft".
Ein Script zum "Auslesen" habe ich, aber ich kriege es nicht hin nur den Bestimmten Schlüssel auszugeben.
'----------------------------------------------------------------
'Extract all registry data for the specified key and its subkeys.
'----------------------------------------------------------------
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:\\.\root\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
Kann mir da jemand weiterhelfen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 138533
Url: https://administrator.de/contentid/138533
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
1 Kommentar