有一个 .bat 文件需要以管理员身份运行,但属性下的选项是灰色的。为什么我在计算机上拥有本地管理员权限时会出现这种情况?
答案1
问题
我认为以管理员身份运行程序时会涉及不同的技巧。对于应用程序,有兼容性选项卡。这些设置存储在注册表中。您可能会看到计算机上列出了一些应用程序:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted
批处理或 cmd 文件不是应用程序。它是由应用程序 cmd.exe 运行的脚本。因此它不受注册表中的应用程序兼容性设置处理。
此外,批处理文件无法存储信息,因此应以管理员身份运行。
解决方案
但还有另一种方法可以做到:
- 创建 cmd/bat 文件的快捷方式(链接)。
- 在快捷方式属性的快捷方式选项卡上,单击先进的 ...按钮
- 检查以管理员身份运行复选框。
请注意,即使在快捷方式属性中,以管理员身份运行灰色的兼容性选项卡。runas 选项存储在快捷方式 (.lnk) 文件中。
附注
您实际上可以在注册表中设置灰色的以管理员身份运行复选框:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
创建一个 REG_SZ 键,其中包含批处理文件的完整路径和“RUNASADMIN”作为值。(...或者可能更简单:检查属性中的 256 色选项并编辑注册表项。) 但这是行不通的。至少对于大多数文件来说不是这样。这可能就是为什么它在兼容性选项卡上显示为灰色的原因。
无论如何,这只是我自己推断的。我没有找到关于此的官方文件。
答案2
最糟糕的情况是您可以以管理员身份加载 cmd,然后运行该蝙蝠。