Дополнительно
Как создать пакетный файл для запуска cmd от имени администратора
Мне нужно запустить пакетный файл, который должен зарегистрировать DLL. Регистрация DLL не удается, потому что пакетный файл не запускает командную строку от имени "администратора".
Есть ли способ запустить "командную строку" от имени администратора через пакетный файл.
Окружение: Win7/Vista
31
12
Этот скрипт делает трюк! Просто вставьте его в верхней части вашего файла летучая мышь. Если вы хотите просмотреть результат выполнения скрипта, добавить на "паузу" и команды в нижней части вашего пакетного файла.
Этот сценарий сейчас немного отредактировал, чтобы поддержать аргументы командной строки.
Возможно, вам придется сначала использовать другой пакетный файл, чтобы запустить второй с правами администратора.
В первом используйте
При дальнейшем использовании вы должны уметь набирать пароль в подсказке. Вы не можете ввести пароль, так как эта функция была заблокирована по соображениям безопасности.
Возможно, вам больше повезет с psexec.
(Это основано на ответе @DarkXphenomenon's, который, к сожалению, имел некоторые проблемы).
Вы должны заключить свой код в эту обертку:
Это заставляет пакетный файл запускаться от имени привилегированного пользователя. Это добавляет два параметра к привилегированному коду:
слово
payload
, чтобы указать, что это вызов полезной нагрузки, т.е. уже повышенного уровня. В противном случае он бы просто открывал новые процессы снова и снова.путь к директории, где был вызван основной скрипт. Из-за того, что Windows всегда запускает повышенный cmd.exe в "%windir%\system32", нет простого способа узнать, какой первоначальный путь (и сохранить возможность копировать ваш скрипт без не трогая код)
Примечание: К сожалению, по какой-то причине
shift
не работает для%*
, поэтому если вам нужно передать фактические аргументы, вам придется прибегнуть к уродливой нотации, которую я использовал в примере (%1 %2 %3 %4 %5 %6 %7 %8 %9
), что также приводит к ограничению на максимум 9 аргументовПресс <и>сочетание клавиш Ctrl</роз>+<и>сдвиг</КБД> и дважды щелкните ярлык для запуска с повышенными привилегиями процесса.
Работы из меню Пуск, а также.
Это работает для меня в Windows 7 на 10 с параметрами, а также начнется приложение или файл из любого места(включая браузер), а также доступ к файлу из любого места,заменить (пакетный скрипт здесь якорь) с вашим кодом ,это решение может помочь :)
Чтобы предотвратить сценарий от ошибки, если файл скрипта находится на не системном диске (C:) и в папке с пробелами.
Batch_Script_Run_As_Admin.УМК
Вы можете использовать ярлык, который ссылается на пакетный файл. Просто зайдите в свойства ярлыка и выберите расширенные параметры, затем "Запуск от имени администратора".
Затем просто сделайте пакетный файл скрытым и запустите ярлык.
Таким образом, вы даже можете установить свой собственный значок для ярлыка.
Как user2549366 говорил "Вы можете использовать ярлык который ссылается на пакетный файл." но в свойствах-и GT;вкладка совместимость ярлыка, Запуск от имени администратора может быть отключен.
Так что вместо этого вы просто щелкните правой кнопкой мыши на вашу "файл.бат - ярлык" Тогда иди ->Свойства->В разделе -&ярлык ГТ; Дополнительно и там вы можете нажать Запуск от имени администратора. После этого можно запускать ярлык.
Может, что-то вроде этого:
Здесь's более простой вариант по сути один и тот же файл.
Сделать текст в блокноте или любом текстовом редакторе на ваш выбор. Открыть блокнот, написать этот краткий команда "УМК.ехе" без цитату и сохранить ее в качестве УМК.летучая мышь.
Кнопкой Мыши cmd.летучей мыши и выбрать "и запуск от имени администратора" по.
это может быть решение, я сделал что-то подобное, но это не похоже на работу например, если необходимая функция требует прав администратора, он должен попросить вас перезапустить его в качестве администратора.