У меня есть ПК с Windows 7, в котором у меня есть папка с большим количеством файлов .exe .

Я хочу предоставить права администратора по умолчанию всем этим исполняемым файлам: я могу сделать это, выбрав их один за другим, затем перейти в Properties -> Compatibility и установить флажок « Run as Administrator .

Но у меня есть 30+ исполняемых файлов, поэтому выполнение каждого из них заняло бы много времени.

Есть ли способ сделать это? Может быть, есть команда терминала, которая может это сделать?

Я попытался выбрать весь исполняемый файл и затем перейти в Properties , но вкладка Compatibility исчезла.

1 ответ1

3

Вы можете программно установить флаг "Запускать эту программу от имени администратора" (параметр, который вы найдете на вкладке "Совместимость" свойств EXE-файла), установив простой ключ реестра. Вам необходимо создать строковое значение (REG_SZ) под одним из этих ключей (если вы хотите, чтобы настройка была для пользователя или для компьютера, соответственно):

HKEY_CURRENT_USER\ Программное обеспечение \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers

или же

HKEY_LOCAL_MACHINE\ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ 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
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .