PDA

Vollständige Version anzeigen : [VBScript/Registry]: Binär(?)-Data auslesen


DirkHo
17.04.2007, 14:55
Hi,

ich will einen Schlüssel auslesen der mehrere "String Values" hat. Die "Value Data" besteht aus Binärwerten(?): 0x00000000 (0) oder 0x00000001 (1),...
Wenn ich nun den Schlüssel auslesen bekomme ich die "String Values" angezeigt, die "Value Data" wird jedoch nicht ausgelesen.

Den gleichen Code den ich für die Abfrage verwende nehme ich z.B. auch um Schlüssel mit String-Werten auszulesen und da klappt es komischerweise. Kann mir jemand sagen, was ich machen muß, damit ich den Wert des "String Values" erhalte?

Hier mal der Code mit dem ich an die Sache rangehe:


strKeyPath = "Software\Microsoft\...\Policies\System"
objReg.EnumValues HKEY_LOCAL_MACHINE, strKeyPath, arrValueNames, arrValueTypes
For i = 0 To UBound(arrValueNames)
objReg.GetStringValue HKEY_current_user, strKeyPath, arrValueNames(i), value
WScript.Echo arrValueNames(cm) & ": " & value
Next


EDIT
Was ich vergessen habe zu schreiben: Ich greife per Remote-Zugriff auf die Registry zu -> ich habe was gefunden mit dem ich es per WSH und RegRead lesen kann, aber nicht, wie das per WMI möglich ist....

Vielen Dank und Grüße,

Dirk

_anton_
17.04.2007, 23:14
Hallo Dirk,

versuch's mal damit:
<span style="font-family: Courier New,FixedSys;"><br><span style="color: #0000CC;">Const</span> HKEY_LOCAL_MACHINE = &H80000002 <br>strComputer = &quot;.&quot;<br><br><span style="color: #0000CC;">Set</span> oReg = GetObject(&quot;winmgmts:{impersonationLevel=impersonate}!\\&quot; & strComputer & &quot;\root\default:StdRegProv&quot;) &nbsp; <br><br>strKeyPath = &quot;SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system&quot;<br><br>oReg.EnumValues HKEY_LOCAL_MACHINE, strKeyPath, arrValueNames, arrValueTypes<br><span style="color: #0000CC;">For</span> i = 0 <span style="color: #0000CC;">To UBound</span>(arrValueNames) &nbsp;<br>&nbsp; oReg.GetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, arrValueNames(i), Value <br>&nbsp; msg = msg & arrValueNames(i) & vbTab & Value & vbCr<br><span style="color: #0000CC;">Next</span> <br><br><span style="color: #0000CC;">For</span> i = 0 <span style="color: #0000CC;">To UBound</span>(arrValueNames) &nbsp;<br>&nbsp; oReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath, arrValueNames(i), Value &nbsp;<br>&nbsp; msg = msg & arrValueNames(i) & vbTab & Value & vbCr<br><span style="color: #0000CC;">Next</span> <br><br>MsgBox msg<br></span>

mfg Anton

P.S. hier noch eine Adresse ,die dir vllt helfen kann:
http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/registry/

DirkHo
18.04.2007, 08:30
Hi Anton,

vielen Dank mal wieder! Ich hatte es zwischenzeitling mit GetBinaryValue versucht, was aber (nachdem ich dein Script gesehen und gesehen habe, daß es auch GetDWord gibt) klar ist.

Danke nochmals und Grüße,

Dirk