Иметь файл .bat, который должен запускаться от имени администратора, но параметр в свойствах отображается серым цветом. Почему, когда у меня есть права локального администратора на компьютере?
2 ответа
проблема
Я думаю, что при работе с правами администратора используются разные методы. Для приложений есть вкладка совместимости. Эти настройки хранятся в реестре. Вероятно, вы увидите некоторые приложения, перечисленные на вашем компьютере:
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 цветов в свойствах и отредактируйте запись в реестре.) Но это не сработает. По крайней мере, не для большинства файлов. Вероятно, поэтому он и был выделен серым цветом на вкладке совместимости.
Во всяком случае, это только то, что я для себя вывел. Я не нашел официальной документации по этому вопросу.
в худшем случае вы можете загрузить cmd в качестве администратора и запустить bat.