如何从Windows 2008 / Vista中删除注册表项

时间:2009-02-20 12:32:24

标签: windows-vista vbscript windows-server-2008

我有这个脚本在Windows 2008 / Vista上运行以删除一个注册表项,但我无法运行它:

Const HKEY_CLASSES_ROOT     = &H80000000
strComputer = "."
strKeyPath = "Installer\Products\334A4D1453680B74CA87BEE6B7E40113" 
Set objRegistry = GetObject("winmgmts:\\" & _
    strComputer & "\root\default:StdRegProv") 
DeleteSubkeys HKEY_CLASSES_ROOT, strKeypath 

Private Sub DeleteSubkeys(HKEY_CURRENT_USER, strKeyPath) 
  strComputer = "."
  Set objRegistry = GetObject("winmgmts:\\" & _
    strComputer & "\root\default:StdRegProv") 

  objRegistry.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubkeys 
  If IsArray(arrSubkeys) Then 
    For Each strSubkey In arrSubkeys 
        DeleteSubkeys HKEY_CURRENT_USER, strKeyPath & "\" & strSubkey 
    Next 
  End If 

  objRegistry.DeleteKey HKEY_CURRENT_USER, strKeyPath 
End Sub

知道为什么吗?

1 个答案:

答案 0 :(得分:1)

您是否以管理员用户身份运行此操作?尽管您使用HKEY_CURRENT_USER作为参数名称,但您尝试从HKEY_CLASSES_ROOT中删除,这通常需要提升访问权限。