Permissions 如何从脚本配置兼容性模式?

Permissions 如何从脚本配置兼容性模式?,permissions,registry,compatibility,Permissions,Registry,Compatibility,作为部署脚本的一部分,我需要为某些应用程序添加标志“以管理员身份运行”。我在注册表中找到了它的配置位置,但我发现这还不够。例如,我在C:\中有procep64.exe;我正在注册表中添加字符串值C:\procep64.exe,其中的数据~RUNASADMIN位于HKLM\SOFTWARE\Microsoft\windowsnt\CurrentVersion\AppCompatFlags\Layers。在此之后,我在exe属性中看到复选框“以管理员身份运行”,但实际上该应用程序并没有以管理员身份运

作为部署脚本的一部分,我需要为某些应用程序添加标志“以管理员身份运行”。我在注册表中找到了它的配置位置,但我发现这还不够。例如,我在
C:\
中有
procep64.exe
;我正在注册表中添加字符串值
C:\procep64.exe
,其中的数据
~RUNASADMIN
位于
HKLM\SOFTWARE\Microsoft\windowsnt\CurrentVersion\AppCompatFlags\Layers
。在此之后,我在exe属性中看到复选框“以管理员身份运行”,但实际上该应用程序并没有以管理员身份运行

好的,我删除了我的注册表修改并手动配置它,如图所示。注册表值将在同一位置显示相同的数据。我用
procmon
跟踪了修改,发现
dllhost
做到了这一点-它只添加了一个注册表修改,不修改文件系统上的任何内容
dllhosts
的修改有效,但我的修改无效。我做错了什么?
似乎仅仅添加注册表值是不够的…
注册表虚拟化已禁用,用户具有管理员权限。Win Srv 2012 R2.

可能重复:

确保正确选择HKLM或HKCU

你可以试试

reg.exe添加“HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers”/v“C:\procep64.exe”/d“RUNASADMIN”/f


reg.exe添加“HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers”/v“C:\procep64.exe”/d“RUNASADMIN”/f

请注意,有两个注册表,一个用于32位,另一个用于64位。将其添加到不正确的注册表可能会产生此结果。