无法删除注册表项

无法删除注册表项

我有一个非常顽固的注册表项,无法删除或访问: HKLM\Software\Symantec\Symantec Endpoint Protection\CurrentVersion。当我尝试在中打开它时regedit,它说"An error is preventing this key from being opened. Details: The system cannot find the file specified."

当我尝试删除整个分支时,我得到的只是"Error while deleting key"

根据我在其他地方找到的一些建议,我尝试下载RegDelNull 实用程序来自 Sysinternals,但扫描整个HKLM树没有发现任何要删除的项目。但是,当我指定坏键的完整路径时,我收到以下消息:

"A null context handle was passed from the client to the host during a remote procedure call."

为什么 regedit 会抱怨无法找到指定的文件?这与注册表项的存储方式有关吗?

更重要的是,当专为此目的而制作的实用程序无法删除这些密钥时,我该如何删除它们?

答案1

我在 Windows 7 机器上也遇到了类似的问题。我最终发现该密钥是一个损坏的符号链接。内置regedit工具似乎无法正确支持这些,并且在尝试访问此类密钥时会按照描述的方式运行。

我设法使用删除损坏的符号链接https://github.com/tenox7/regln像这样:

C:\Users\Zero3\Desktop>regln-x64.exe -d "\Registry\User\S-1-5-21-1688150413-3759
594893-2435602081-1000\Software\Microsoft\Windows\CurrentVersion\Shell Extension
s\Approved"

当然,您需要根据您的使用情况调整路径。

(作为参考,我注意到这里发布了一个类似的问题:https://serverfault.com/questions/796797/regedit-error-cannot-find-the-file-specified-accessing-key/963975

相关内容