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!
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!
VB.NET-Quellcode
- 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