我正在尝试更改使用批处理文件生成的特定注册表项的访问控制权限。我尝试使用 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 更改注册表项的权限。
答案1
根据维基百科, HKEY_CURRENT_CONFIG
是路径的别名
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current
因此尝试
\registry\machine\System\CurrentControlSet\Hardware Profiles\Current\Software\E [1 7]
看看效果是否更好。
如果仍然不起作用,您可能需要尝试另一种技术;例如,可以在 Powershell 中修改注册表权限,或者您可以使用 Microsoft 的 subinacl 工具或各种第三方工具。
(我发现这里有一些建议这可能会或可能不会有帮助。
答案2
以管理员身份运行:
yourtext.txt(确保密钥本身没有[] HKEY_LOCAL_MACHINE\SOFTWARE\YourPath [1]
然后: Regini -m \%COMPUTERNAME% %HOMEDRIVE%%HOMEPATH%\DESKTOP\yourtext.txt