Мне интересно, можно ли автоматически открывать командный файл как администратор, когда вы дважды щелкаете на командном файле, потому что команды должны выполняться с правами администратора.
Примечание: я уже знаю о решении щелкнуть правой кнопкой мыши по файлу и щелкнуть по нему Run As Administrator
, но это не автоматическое решение.
windows-7
batch-file
Antp
источник
источник
Ответы:
Да, вы можете запустить командный файл с правами администратора. К сожалению, вы не можете сделать это непосредственно из командного файла самостоятельно. Вам нужно сначала создать ярлык этого командного файла и изменить свойства для этого ярлыка, чтобы эта работа работала.
Чтобы создать ярлык, есть много способов, но самый простой и быстрый способ - использовать опцию Отправить в контекстном меню.
Конечно, вы можете отправить ярлык куда угодно. Чтобы повысить пакетный файл для запуска с правами администратора, выполните следующие действия:
источник
if "%~1" == "" start %USERPROFILE%\Desktop\Shortcut.lnk && GOTO :EOF
ниже@echo off
и сделать ссылку на ярлыкprogram.bat a
вместо простоprogram.bat
.Как написано в ответе Бена Грипки на другой вопрос:
источник
Принятый ответ действительно работает. Но я обнаружил, что в Windows 7 мне приходилось терпеть диалог UAC при каждом нажатии на ярлык. Это ИМХО значительно отвлекает от «автоматически» в этом вопросе!
Затем я обнаружил, что в моей собственной ситуации рассматриваемый
.bat
файл должен запускаться планировщиком задач. В этом случае, проверяяRun with highest privileges
опцию наGeneral
вкладке задачи, приятно позаботится о проблеме. Затем.bat
он запускается от имени администратора без каких-либо хлопот.PS: я не понимал, что я не могу загрузить изображения в этом ответе, потому что у меня сейчас есть симпатичный маленький скриншот! Или я могу?
источник
в Windows 7
Создать ярлык для этого командного файла
Щелкните правой кнопкой мыши файл ярлыка
Нажмите кнопку продвижения, чтобы найти флажок для запуска от имени администратора
Проверьте скриншот ниже
источник
Вы можете использовать мой скрипт Batch_Admin для автоматического повышения уровня администратора для использования в любом типе собственного скрипта Batch, или BAT или .CMD. Эта функция обеспечивает работу в стандартной среде со стандартными инструментами и одинаково в разных системах Windows. Он использует несколько стандартных и встроенных команд Windows. Не используйте другие внешние скрипты. Его можно использовать для вызова любой программы от имени администратора, а не только для пакетных скриптов. Достаточно создать небольшой скрипт, который затем вызывает программу, требующую разрешения Administartor. Поместите это в любую папку поиска PATH (из% PATH%).
Чтобы использовать его, вы просто вставляете следующую строку (в точности как) в родительский пакетный скрипт, который должен запускаться от имени администратора. Лучше всего это сделать в верхней части нашего родительского скрипта, и лучше всего сначала, который далее будет вызываться через CALL, некоторые подпрограммы (см. Подробное объяснение ниже).
Это может быть вставлено в любые дочерние сценарии, вызываемые синтаксисом CALL. Для отображения сообщения, пока оно еще не имеет прав администратора, например, за 5 секунд до вызова Batch_Admin установите переменную «ShowAdminInfo» на количество секунд
Итак, как это работает:
• Вызывает UAC.ShellExecute через VBScript для получения пользовательских разрешений.
• Пакетный запуск скрипта, или BAT или CMD
• Вызывающий скрипт может иметь длинные пространства имен, включенные в вызов в кавычках
• Отдайте все параметры вызова основного сценария, переданного из командной строки, как если бы не было передачи вызова, и начните что-либо с нуля, также со специальными символами, такими как восклицательные знаки (!) И процент (%), а также с круглыми скобками ()
• Содержит местоположение главного сценария, если вызов произошел в каталоге, где этот сценарий является главным.
• Вспомогательный выводит сообщение, если мы установили перед собой переменную «ShowAdminInfo», например. на 5 секунд, что может помешать немедленному переходу прав Администратора с предоставлением дополнительной информации и возможностью обоснованного решения. Примеры настроек, которые должны быть установлены: SET ShowAdminInfo = 5 По умолчанию, поскольку эта переменная не определена, она не отображается.
• Сценарий также вызывает в системном поисковом пути% PATH% и из сетевого ресурса, например: \ Computer \ share \ test.bat
• Предотвращает недоразумения при записи необходимых вспомогательных файлов, когда скрипт вызывает несколько Batch_Admin практически одновременно. Используется случайное число от 1 до 100
• Но лучше всего использовать его на родительском скрипте. Переход к правам администратора всегда требует, чтобы вы снова запускали сценарий полностью, в новом окне, в новой среде, без обращения к переменным, которые были предварительно установлены в нашем сценарии, и значения этих переменных не передавались затем для вызова в качестве администратора , Просто скрипт будет выполнен снова.
Ниже полный скрипт Batch_Admin. Расширенная информация об этом есть на моем сайте.
Скопируйте следующий текст в Блокнот и сохраните его на диск как: Batch_Admin.bat
источник
В качестве альтернативы вы можете создать второй пакетный файл, что позволит вам запускать что угодно в качестве администратора, вводя пароль администратора только один раз. Пароль сохраняется в токене аутентификации и требует от реального компьютера знать, как его взломать.
источник
Это также работает ИСТОЧНИК: https://social.technet.microsoft.com/Forums/windows/en-US/bc8a4561-d97e-4339-9b1c-9b90e54a7f92/request-elevation-inside-cmdbatch-file
источник
Вы можете использовать утилиту командной строки
elevate
. (ссылка для скачивания - https://drive.google.com/open?id=0Bz7qe_olclTwVGZLUklFMHNxQ00 )источник
Это пример запуска летучей мыши от имени администратора. Меня устраивает.
Это выглядит так:
источник