我正在尝试更改使用批处理文件生成的特定注册表项的访问控制权限。我尝试使用regini.exe从.ini文件中提取配置并遇到问题。

我一直有这个错误:

    Z:\EM\Pre>regini.exe RegistryPermissions.ini 
    REGINI: CreateKey (\HKEY_CURRENT_CONFIG\Software\E) relative to handle (000000000) failed - 161
    REGINI: Failed to load from file 'RegistryPermissions.ini' (161)

这是.ini文件registrypermissions.ini的内容:

Computer\HKEY_CURRENT_CONFIG\Software\E [1 7]

这是我为解决问题而编写的批处理脚本:

@echo off
:: ==========================================
:: Set E Key
:: ==========================================
:: Date   : 11 October 2019
:: Author : 
:: Modified Date: 
:: Modified By: 
:: 
:: Script Details:
:: --------------
::  This script will:
::  + add the E Registry key to HKCC\Software
::  + set the Key permissions to allow "Everyone" full control
::  + reboot PC
:: ===========================================


::***************************************************************
:: Add E Registry Key to HKCC\Software                  *
::***************************************************************
REG ADD HKCC\Software\E

::***************************************************************
:: Set the Key to permissions to allow Everyone full control    *
::***************************************************************
=====This is where I need help=====


::***************************************************************
:: Reboot PC                            *
::***************************************************************



goto end

:end

我删除了脚本中一些不必要的部分。 重要的部分是用cmd更改注册表项的权限。

最佳回复

According to Wikipedia, HKEY_CURRENT_CONFIG 是路径的别名

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current

所以试试看

\registry\machine\System\CurrentControlSet\Hardware Profiles\Current\Software\E [1 7]

看看效果如何。


如果仍然不起作用,则可能需要尝试其他技术;例如,可以在powershell中修改注册表权限,也可以使用Microsoft的subinal工具或各种第三方工具。

(我发现 some suggestions here 这可能有帮助,也可能没有帮助。)