Hallo zusammen
Ich habe einen Code mit dem ich Registry Keys oder Values aus der Registry über WMI löschen kann.
Ich habe WMI gewählt, damit ich über die Variable "sArchtct" die 32bit oder 64bit Registry auslesen kann.
Meine Frage: Wie kann ich einen Registry Key mit Subkeys über WMI löschen?
Muss ich die Subkeys zuerst über die Methode EnumKey auslesen und dann einzeln löschen?
Habt ihr dies schon einmal gemacht?
Vielen Dank für die Unterstützung!
Function DelReg64(sRegHive, sRegKey, sRegValue, sArchtct) Dim objCtx, objLocator, objServices, objStdRegProv, Inparams, Outparams Dim Method On Error resume Next Set objCtx = CreateObject("WbemScripting.SWbemNamedValueSet") objCtx.Add "__ProviderArchitecture", sArchtct Set objLocator = CreateObject("Wbemscripting.SWbemLocator") Set objServices = objLocator.ConnectServer("","root\default","","",,,,objCtx) Set objStdRegProv = objServices.Get("StdRegProv") Select Case sRegValue Case "" Method = "DeleteKey" Set Inparams = objStdRegProv.Methods_(Method).Inparameters Inparams.Hdefkey = sRegHive Inparams.Ssubkeyname = sRegKey Set Outparams = objStdRegProv.ExecMethod_(Method,Inparams,,objCtx) Case Else Method = "DeleteValue" Set Inparams = objStdRegProv.Methods_(Method).Inparameters Inparams.Hdefkey = sRegHive Inparams.Ssubkeyname = sRegKey Inparams.Svaluename = sRegValue Set Outparams = objStdRegProv.ExecMethod_(Method,Inparams,,objCtx) End Select DelReg64 = Outparams.ReturnValue set objCtx = Nothing set objLocator = Nothing End Function