Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

VBScript: RegKey mit SubKeys über WMI löschen

$
0
0

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


Viewing all articles
Browse latest Browse all 2314