从注册表子项中删除特定值

从注册表子项中删除特定值

我们需要从 CD-ROM 驱动器注册表项中删除一个安全值。主要位置是 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\IDE。从那里开始,这取决于 CD 驱动器的品牌和型号,但应该有一个必须删除的安全值。我找到了以下 VBS 代码,但它似乎不起作用或给出错误代码:

'****SCRIPT START****
' this script searches for all "security"-keys under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\IDE\ and deletes them
Option Explicit
Const HKEY_LOCAL_MACHINE = &H80000002
Dim oReg : Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
Dim oShell : Set oShell = CreateObject("WScript.Shell")
Dim sPath, aSub, sKey, aSubToo, sKeyToo, dwValue
' Get all keys within sPath
sPath = "SYSTEM\CurrentControlSet\Enum\IDE"
oReg.EnumKey HKEY_LOCAL_MACHINE, sPath, aSub
' Loop through each key
For Each sKey In aSub
    'Get all subkeys within the key 'sKey'
    oReg.EnumKey HKEY_LOCAL_MACHINE, sPath & "\" & sKey, aSubToo
    For Each sKeyToo In aSubToo
        oReg.deleteValue HKEY_LOCAL_MACHINE, sPath & "\" & sKey & "\" & sKeyToo , "Security"
        if Err.Number<>0 then 
            MsgBox Err.Description  ' FOR TESTING ONLY
            Err.Clear
        end if
    Next
Next
'****SCRIPT END****

仔细检查后发现,该值只能由 SYSTEM 删除。我需要添加管理员权限才能删除。不确定我是否应该继续使用 VBS 或其他方法在所有 PC(约 1,000 台)上完成此操作。

谢谢。

相关内容