45521
Goto Top

WMI KeyExists - Methode geht nicht?!?!

Hi,

und zwar hatte ich eine VBScript-Funktion die die Existenz von Schlüsseln prüft. Die funktionierte auch schön und gut, war jedoch nicht in WMI geschrieben -> geht meiner Meinung dann auch nicht beim RemoteZugriff!?!?!

Naja, daraufhin habe ich dann versucht mir eine neue Funktion zusammen zu basteln, die das ganze in WMI testet (hab auch was hinbekommen, aber dabei trat komischerweise der gleiche Fehler auf, wie bei der, die ich dann ergooglet habe - habe dann die aus dem INet genommen, weil die wohl um einiges kürzer ist)

Hier die Funktion:

Function RegKeyExists(sHive, sRegKey)
Dim aValueNames, aValueTypes
If objReg.EnumValues(sHive, sKeyPath, aValueNames, aValueTypes) = 0 Then
RegKeyExists = True
Else
RegKeyExists = False
End If
End Function

Und hier deren Aufruf:

Set ObjReg = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")

Const HKEY_CURRENT_USER = &H80000001
RegPath = "Software\Microsoft\Windows NT\CurrentVersion\EFS\"

If RegKeyExists(HKEY_CURRENT_USER, regPath) Then
EFS = True
WScript.Echo "existiert nicht"
Else
EFS = False
WScript.Echo "existiert"
End If


Ich habe in meiner regEdit geschaut und da ist der Schlüssel definitiv nicht vorhanden und auch unter Verwendung eines Schlüssels wie 1234\2943\29420\ ist er immer in den True-Teil gesprungen. Auch, wenn ich mache IF NOT RegKeyExists springt er in den True-Zweig.

Kann mir jemand weiterhelfen?

Danke und Grüße,

Marc

Content-Key: 55265

Url: https://administrator.de/contentid/55265

Printed on: April 25, 2024 at 19:04 o'clock

Mitglied: 45521
45521 Mar 28, 2007 at 11:48:38 (UTC)
Goto Top
Hab eine Funktion gefunden die (scheinbar) geht:

Function keyExists(strKeyName, strKeyPath, regCategory)
retVal = false
strComputer = "."


objReg.EnumKey regCategory, strKeyPath, arrSubKeys

For Each subkey In arrSubKeys
If strKeyName = subkey Then
retVal = true
Exit For
End If
Next
keyExists = retVal
End Function

Danke und Grüße,

Marc