我有 2 个用户:
Domain\Me(域用户)
.\MeAdmin(本地管理员)
我经常需要出于多种目的(例如受信任的站点、覆盖策略等)更新我的注册表。
例如
[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\gov.pt]
[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\gov.pt\portaldasfinancas]
"https"=dword:00000001
"http"=dword:00000001
我的问题在于,有人告诉我,我无法让自己(域帐户)成为本地管理员,我必须使用独立的本地管理员帐户进行所有管理员调整。
问题是,如果我以用户 .\MeAdmin 的身份运行它,它将运行当前用户 MeAdmin 而不是用户 Domain\Me;如果我以 Domain\Me 的身份运行,我会遇到权限墙。
有没有办法分配 Domain\Me 权限来编辑注册表而无需成为管理员,或者通过本地管理员更新该帐户的当前用户?
注意:我已阅读有关远程注册表连接的信息,但我希望仍将其作为脚本/shell 运行以实现自动化目的。
更新: 当我运行域用户(所有 HKEY_CURRENT_USER 条目)时:
答案1
要访问另一个用户的注册表:
您必须使用完整路径 – 您需要
HKEY_USERS\<yourSID>
而不是HKEY_CURRENT_USER
(它只是前者的符号链接),同样地HKEY_USERS\<yourSID>_Classes
而不是HKEY_CLASSES_ROOT
。使用whoami /user
来找出您的 SID。必须加载(安装)注册表配置单元 – 每个用户的注册表都存储在自己的
ntuser.dat
文件(HKCU)和UsrClass.dat
(HKCR)中,与系统注册表分开(登录/注销时加载/卸载)。如果目标用户未登录,您可以使用
reg load
或类似的 Regedit 菜单项在 HKU 下挂载他们的 ntuser.dat(但不要忘记稍后卸载它,否则该用户可能无法登录)。注册表项(文件夹)必须具有允许其他用户写入的正确权限 - 它们的工作方式与文件权限大致相同;打开 Regedit,右键单击文件夹,选择“权限...”,然后添加执行修改的用户。