如何对文件夹中的所有可执行文件应用“以管理员身份运行”选项

如何对文件夹中的所有可执行文件应用“以管理员身份运行”选项

.exe我有一台 Windows 7 PC,其中有一个文件夹,里面有很多文件。

我想默认授予所有这些可执行文件管理员权限:我可以逐个选择它们,然后转到Properties->Compatibility并勾选该Run as Administrator选项。

但是我有 30 多个可执行文件,因此对每个文件执行此操作将花费大量时间。

有什么办法吗?也许有一个终端命令可以做到这一点?

我尝试选择所有可执行文件然后转到Properties,但Compatibility选项卡消失了。

答案1

您可以通过设置一个简单的注册表项以编程方式设置“以管理员身份运行此程序”标志(您可以在 EXE 属性的“兼容性”选项卡中找到该选项)。您需要在其中一个注册表项下创建一个字符串值 (REG_SZ)(如果您希望分别针对每个用户或每台计算机进行设置):

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

或者

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

值的名称需要是可执行文件的完整路径(如果路径包含空格,请不要用引号将路径括起来),并且值的数据必须包含字符串RUNASADMIN

以上信息来源(来自 SO)

下面是一个 PowerShell 脚本示例,它将标志(针对当前用户)应用于当前文件夹中的所有 EXE:

$exes = Get-Item *.exe
New-Item -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags" -Name "Layers" -Force
foreach ($exe in $exes) {
     New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" -Name "$exe" -Value RUNASADMIN -PropertyType String -Force
}

相关内容