Как запустить программу из командной строки с повышенными правами

Есть ли способ запустить программу или команду с повышенными правами, когда я уже в командной строке с невыполненной линией?

Точно такое же действие, которое будет выполняться, когда я нажимаю на ярлык программы и выбираю Запуск от имени администратора .

Команда runas, вероятно, не является решением – она ​​запрашивает пароль, но мне просто нужен диалог UAC .

6 Solutions collect form web for “Как запустить программу из командной строки с повышенными правами”

Похоже, эта утилита – Hidden Start – будет делать то, что вы пожелаете, если вы используете переключатель / uac. Вот пример командной строки:

hstart /UAC "notepad.exe" 

Это вызовет диалог UAC, а не попросит пароль, такой как runas.

Введите описание изображения здесь

В PowerShell есть способ сделать это :

 PS> Start-Process powershell -Verb runAs 

Взгляните на Start ++ – у него есть эта функциональность наряду с множеством других полезных вещей. Для запуска с приглашением UAC просто используйте sudo затем имя вашей программы в командной строке, как показано ниже:

Alt text

Вот некоторые другие функции (вы также можете добавить свои собственные):

Alt text

Alt text

RunAdmin – небольшая утилита (150Kb), которая позволяет запускать программу из командной строки с повышенными правами (она покажет UAC). И напротив «Скрытого старта» свободен.

Это работает для меня на всех платформах, включая Windows 10. Мои потребности просты, возможно, вы можете адаптировать подход, если вам нужна власть .

Я придумал небольшой скрипт, названный sudo.cmd для команды Linux sudo. Он работает достаточно хорошо, чтобы думать. Я изложил требования, шаги, которые нужно выполнить, и сценарий находится внизу внизу с примером. Сначала слово предупреждения.

ПРЕДУПРЕЖДЕНИЕ . Команда запускается в системном каталоге Windows по умолчанию. Сначала вы захотите cd в безопасное место.

Требования :

  • Запустить команду с правами администратора из Windows .CMD
    Или CMD-оболочки.
  • Требуется обычная проверка привилегий Windows по команде
    • Другими словами, команда НЕ будет работать, если я уже вошел в систему с привилегированной учетной записью.
  • Выполните команду с правами администратора и продолжайте ее при вызове внутри скрипта. Поэтому дождитесь завершения команды.
  • Будьте просты, поэтому он всегда будет работать
  • Не нужно вводить пароль каждый раз, если я уже вошел в систему.
    • Лучше всего было бы, если бы я мог ввести пароль один раз, как и настоящая команда sudo в Linux.

Решение :

  1. Создайте командный скрипт для выполнения всех переданных аргументов, sudo.cmd
  2. Создайте короткую sudo.lnk Windows для имени сценария команды: sudo.lnk .
  3. Поместите sudo коротко в ваши окна PATH, чтобы его можно было увидеть.
  4. Отредактируйте свойства короткого замыкания, сделайте Start in: путь пустым.
  5. Нажмите кнопку [ Advanced ] – выберите « Run as Administrator
  6. Включите короткие сокращения в вашем пути к окну, используйте переменную среды PATHEXT, а именно:
 d:> echo %PATHEXT% .lnk;.EXE;.CMD;.BAT;.COM 

Когда вы вводите sudo dir в командной строке, Windows покажет

 User Account Control Do you want to allow this app to make changes to this device? [YES] [NO] 

Всплывающее окно управления доступом. Если вы нажмете «[ NO ]», ничего не произойдет. В Windows появится сообщение « Access is denied. ».

Когда вы нажимаете «[ YES ]», команда каталога запускается с повышенной привилегией. Конечно, вы, вероятно, хотите что-то более интересное, например, остановка или запрос на услугу:

  sudo sc query SDRSVC 

SDRSVC – это имя службы «Служба резервного копирования Windows», это показывает следующее в отдельном окне Cmd:

  [sudo] administrator --------------- sc query SDRSVC SERVICE_NAME: SDRSVC TYPE : 10 WIN32_OWN_PROCESS STATE : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0 [done] Press any key to continue . . . 

Сам скрипт sudo.cmd очень sudo.cmd . Как я уже сказал, мои потребности просты. Я просто хочу остановить и запустить службы, пока я развертываю код для тестирования.

sudo.cmd :

  @echo off @rem sudo.cmd cd /d %temp% @echo. @echo. administrator @echo. --------------- cd @echo. @rem _________________________________________________ @rem -- Print usage . . . @if [""] ==["%~1"] goto USAGE @if /i ["--HELP"]==["%~1"] goto USAGE @rem _________________________________________________ @rem @echo. %* @rem %* @rem set EXIT_STATUS=%ERRORLEVEL% @rem -- -- -- -- -- @echo. @echo. [done] @rem ______________________________________________________ :Exit @echo. @pause exit /b %EXIT_STATUS% @rem ______________________________________________________ :USAGE @echo. @echo ^Usage: @echo. sudo ^<complete command line^> @echo. @echo. Attempts to rune the: ^<complete command line^> @echo. under Administrator priviliges. Relies on Windows @echo. prompt for elevated privileges. @rem ______________________________________________________ @goto Exit 

Команда pause ждет вас, чтобы просмотреть результаты. Если вы pause , окно администрирования закрывается, и вы не знаете, работала команда или нет. Команда ERRORLEVEL также возвращается.

Вы можете установить __COMPAT_LAYER = RunAsAdmin. Затем команды будут выполняться в отдельном увеличенном cmd

Пример bat:

 ;Run next command elevated to Admin. set __COMPAT_LAYER=RunAsAdmin reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Group Policy\{35378EAC-683F-11D2-A89A-00C04FBBCFA2}" /t REG_DWORD /v "NoBackgroundPolicy" /d "1" ;Disable elevation set __COMPAT_LAYER= ;continue non elevated reg add "HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Internet Explorer\Main" /t REG_SZ /v "Start Page" /d "https://www.google.com" /f 

Все параметры режима совместимости перечислены в наборе инструментов совместимости приложений MS.

Interesting Posts

Признание нескольких ключевых слов с помощью PocketSphinx

Откат драйвера в Windows через командную строку

Как получить доступ к BIOS на ноутбуке ASUS?

Доступ к объектам анонимного типа C #

Копировать конструктор и = перегрузка оператора в C ++: возможна ли общая функция?

Альтернативные терминальные эмуляторы для OS X

Как вы можете получить неудачный вход в Windows 10

Что такое дополнение Firefox, чтобы уменьшить всю страницу сайта?

Изменить подсветку Okular, чтобы автоматически копировать выделенный текст в комментарий

Может ли schroot разрешать перезаписывать файлы конфигурации в домашнем каталоге?

Получить реальный путь от URI, Android KitKat новая система хранения данных

Некоторые указатели пальцев не позволяют системе выйти из экрана загрузки

Swift 3 сохранение и извлечение пользовательского объекта из userDefaults

Windows упрямо сокращает файл подкачки

Возврат перенаправления в ответ на запрос XHR

Давайте будем гением компьютера.