Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 使用批处理文件删除受保护的注册表项_Batch File - Fatal编程技术网

Batch file 使用批处理文件删除受保护的注册表项

Batch file 使用批处理文件删除受保护的注册表项,batch-file,Batch File,试图用批处理文件删除以下注册表项,但我甚至无法在注册表编辑器中删除。任何关于如何编写批处理文件的想法,可能也需要更改权限 HKEY\U LOCAL\U MACHINE\SYSTEM\ControlSet001\Enum\SWD\PRINTENUM\ PRINTENUM下大约有8个子键,例如{1974F44D-A278-…},我希望删除这些子键 HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Enum\SWD\PRINTENUM 同上。首先,阅读Mi

试图用批处理文件删除以下注册表项,但我甚至无法在注册表编辑器中删除。任何关于如何编写批处理文件的想法,可能也需要更改权限

HKEY\U LOCAL\U MACHINE\SYSTEM\ControlSet001\Enum\SWD\PRINTENUM\

PRINTENUM下大约有8个子键,例如{1974F44D-A278-…},我希望删除这些子键

HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Enum\SWD\PRINTENUM


同上。

首先,阅读Microsoft支持文章

这样做之后,应该很清楚,在
HKLM\SYSTEM\CurrentControlSet
下修改的内容也会在
HKLM\SYSTEM\ControlSet001
上实际完成(通常),并在下次启动时应用于
HKLM\SYSTEM\ControlSet002

HKLM\SYSTEM\Select
包含以下信息:哪个控制集是当前控制集(通常为控制集1),哪个是Windows启动时的默认控制集(通常为控制集1),哪个是最后一个已知的好(通常为控制集2)

接下来,请阅读有关Microsoft开发者网络的文章

默认情况下,只有系统帐户具有更改枚举注册表树中某些内容的必要权限。可以使用
Regedit.exe
更改,但不建议这样做。在卸载带有驱动程序的设备(例如Windows设备管理器)时,枚举器密钥会自动删除。不建议从Windows注册表中手动删除它们

可以在
Regedit.exe
中导航到键
HKLM\SYSTEM\CurrentControlSet\Enum\SWD\PRINTENUM
,右键单击此键,左键单击上下文菜单项权限,启用组所有人的完全访问权限,关闭权限对话框,删除子项,再次重新打开注册表项
PRINTENUM
的权限对话框,取消选中所有人的完全访问权限以恢复标准权限。但同样,除非你真的知道自己在做什么,否则不要这样做


查看包含您问题答案的超级用户问题。

我确实在服务器上尝试过psexec-s-I,并且在服务器上也有.reg文件,但无法在客户端上使用\server.在管理员命令提示符下运行它。。。。。尝试了各种reg导入,以运行带有-aaceptuela的reg文件,给了我错误0(应该没有错误)和错误1(我尝试使用-u登录以运行它或运行方式等)

最后,我不得不用脚本将.reg文件和psexec复制到本地硬盘,并运行D:\psexec.exe-I-s-accepteula reg导入“D:\hidden_printers.reg”使其工作


再次感谢。

“尝试”意味着您已经做出了努力,但您忘记将其包括在内。当您要求我们诊断代码问题时,如果您实际向我们显示代码,它会有所帮助。StackOverflow不是一个“这是我的要求。你能帮我写代码吗?稍后回来拿。谢谢!”的网站。键入问题::-)在现代版本的Windows下,对HKLM进行除读取访问以外的任何访问都需要管理员权限。您是否在以管理员身份打开的命令提示符下运行?这些信息没有帮助,因为这是一个不完整的句子,没有说明任何内容。请您的问题更具体地说明“尝试”是什么意思,您具体尝试了什么,以及您使用的帐户(以及运行批处理文件的命令窗口)是否具有管理权限。基本上,它只是\\server\scripts\上的“remove printers.reg”文件,包含[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SWD\PRINTENUM\{1974F44D-A278-470C-AF90-2B94CC6F71A0}]等,我有一个名为remove reg.bat的批处理文件,其中包含%systemroot%\regedit.exe/s“\\server\scripts\remove printers.reg”注册表将不会删除,即使我在注册表编辑器中删除它,它说不能删除,删除键时出错。