5

Иметь файл .bat, который должен запускаться от имени администратора, но параметр в свойствах отображается серым цветом. Почему, когда у меня есть права локального администратора на компьютере?

2 ответа2

1

проблема

Я думаю, что при работе с правами администратора используются разные методы. Для приложений есть вкладка совместимости. Эти настройки хранятся в реестре. Вероятно, вы увидите некоторые приложения, перечисленные на вашем компьютере:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted

Пакетный или cmd-файл не является приложением. Это скрипт, запускаемый приложением cmd.exe. Таким образом, это не обрабатывается настройками совместимости приложения в реестре.

Далее пакетный файл не имеет возможности хранить информацию о том, что его нужно запускать от имени администратора.

Решение

Но есть еще один способ сделать это:

  1. создать ярлык (ссылку) на файл cmd/bat.
  2. в свойствах ярлыка на вкладке Ярлык нажмите кнопку Дополнительно ...
  3. установите флажок Запуск от имени администратора .

Обратите внимание, что даже в свойствах ярлыка запуск от имени администратора отображается серым на вкладке совместимости . Опция runas хранится в файле ярлыков (.lnk).

На заметку

На самом деле вы можете установить серый флажок «Запуск от имени администратора» в реестре:

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

Создайте ключ REG_SZ с полным путем к вашему пакетному файлу и "RUNASADMIN" в качестве значения. (... или, возможно, проще: отметьте опцию 256 цветов в свойствах и отредактируйте запись в реестре.) Но это не сработает. По крайней мере, не для большинства файлов. Вероятно, поэтому он и был выделен серым цветом на вкладке совместимости.

Во всяком случае, это только то, что я для себя вывел. Я не нашел официальной документации по этому вопросу.

-1

в худшем случае вы можете загрузить cmd в качестве администратора и запустить bat.

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