Распространённый совет по решению проблем с запуском или работой какой-либо программы или игры — попробовать запустить её от имени Администратора, часто предполагается, что пользователь уже знает, как это сделать, но это не всегда верно для начинающих.
В этой инструкции подробно о том, как запустить любую игру или программу как Администратор в Windows 10 различными способами.
- Запуск игр и программ как Администратор
- Видео инструкция
- PsExec и NirCmd
Способы запуска программы как Администратор
Учитывайте, что для возможности выполнения описанных далее шагов, ваша учётная запись должна иметь соответствующие права администратора в системе или, при их отсутствии, вам потребуется ввести пароль такой учётной записи. Также будьте осторожнее с запуском малоизвестных вам программ от администратора (так как тем самым вы им даёте права на почти любые изменения в системе), предварительно проверьте такую программу на вирусы онлайн.
В Windows 10 возможны разные методы запуска программ и игр от имени Администратора, по порядку рассмотрим их все.
- Если ярлык программы или её исполняемый EXE файл находятся в известной вам папке или на рабочем столе Windows 10, просто нажмите по такому ярлыку правой кнопкой мыши и выберите пункт «Запуск от имени Администратора».
- Для запуска программы от имени администратора из меню Пуск, нажмите по значку такой программы правой кнопкой мыши, выберите пункт «Дополнительно» и нажмите по пункту «Запуск от имени Администратора».
- Один из самых простых способов запуска ПО с повышенными правами — использование поиска в панели задач: набираем в поиске название программы и, если она была найдена, нажимаем по результату правой кнопкой мыши и выбираем пункт контекстного меню «Запуск от имени администратора». Для некоторых программ (например, командной строки) такой пункт будет отображаться в панели справа от результата поиска.
- Если значок программы, которую нужно запустить от администратора находится только в панели задач, способов прямого запуска из этого расположения я предложить не могу, но знайте, что эти ярлыки фактически находятся в папке (просто вставьте этот путь в адресную строку проводника и нажмите Enter)
%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
и уже оттуда запускать их от администратора можно первым способом.
- И ещё один вариант: запустите командную строку от имени Администратора, в ней введите путь к нужной программе и нажмите Enter — программа также запустится от имени администратора.
Как сделать, чтобы программа или игра всегда запускалась с повышенными правами
Если вы не хотите каждый раз проделывать описываемые действия и требуется, чтобы выбранная программа или игра всегда запускалась от имени администратора, вы можете сделать следующее:
- Нажмите правой кнопкой мыши по ярлыку или значку (исполняемому файлу) и откройте пункт «Свойства».
- Откройте вкладку «Совместимость» и отметьте пункт «Запускать эту программу от имени администратора», затем примените настройки.
И ещё один момент: значки некоторых программ имеют изображение щита в правом нижнем углу — такие программы всегда запускаются с правами администратора: это необходимое условие для их работы, заданное разработчиками.
Видео инструкция
Запуск программ с правами администратора и не только с помощью PsExec или NirCmd
Для опытных пользователей (а скорее даже не для них, а для администраторов), понимающих стоящие перед ними задачи и готовых разобраться, может оказаться полезной утилита PsExec, доступная в составе PsTools на Microsoft Sysinternals — https://docs.microsoft.com/en-us/sysinternals/downloads/psexec. Обычно её используют для запуска инструментов на удаленной машине, но можно применить и на локальном компьютере.
Например, с помощью psexec, мы можем запустить программу от имени администратора (в том числе из bat-файла) без запроса контролей учётных записей следующим образом (первый вариант для запуска от имени Администратора программы, не требующей повышения прав по умолчанию, второй — для программ, которым это требуется, например, regedit):
psexec -u Администратор -p password путь_к_program.exe psexec -u Администратор -p password "cmd.exe" /c start путь_к_программе_с_запросом_uac
Это лишь примеры, не рекомендую такое применение. Для работы приведённой команды встроенная учётная запись администратора локального компьютера должна быть активна и иметь пароль (в команде — password), иначе потребуются дополнительные настройки локальной политики безопасности. Существуют и иные варианты реализации необходимых действий в psexec, включая запуск программ от имени системного аккаунта и не только. Ещё одна утилита командной строки с иными возможностями, но также позволяющая выполнить запуск приложения с повышенными правами — NirSoft NirCmd.
При запуске какой-либо .msc оснастки управления компьютером, например, диспетчера устройств, других элементов администрирования или compmgmt.msc (для их открытия используется mmc.exe) с помощью диалога «Выполнить» или иным способом в Windows 10 и Windows 11 вы можете столкнуться с ошибкой: «Это приложение заблокировано в целях защиты. Администратор заблокировал выполнение этого приложения. За дополнительными сведениями обратитесь к администратору».
В этой инструкции подробно о способах исправить ошибку и возможных вариантах действий, если контроль учетных записей сообщает о том, что выполнение mmc.exe было заблокировано администратором. На случай возникновения похожей ошибки при запуске других программ отдельная инструкция: Это приложение заблокировано в целях защиты — как исправить?
Способы запуска .msc и mmc.exe, которые могут продолжать работать при ошибке
Сначала 2 способа, которые могут позволить запустить нужный элемент, несмотря на ошибку: то есть при стандартном (например, через окно «Выполнить») способе запуска ошибка сохранится, а при использовании предложенного метода запуск может быть успешно выполнен:
- Запустите командную строку от имени администратора (именно командную строку, а не окно «Выполнить», подробнее: Как запустить командную строку от Администратора) и уже из неё выполните запуск, например, таким образом (пример для диспетчера устройств): mmc.exe devmgmt.msc — с большой вероятностью запуск пройдёт успешно. Нужный элемент вам элемент .msc указан в сообщении об ошибке.
- Включите встроенную скрытую учетную администратора и выполните запуск из неё.
Это не решает проблему как таковую, но, если запуск требуемого элемента управления требуется лишь единожды, может оказаться вполне работоспособным и применимым. Впрочем, для однократного запуска включение системной учетной записи Администратора может быть излишним.
Прежде чем приступать к следующим способам, обратите внимание: в теории проблема может оказаться следствием какого-то системного сбоя, ошибках в обновлениях системы или воздействия сторонних программ. В такой ситуации можно попробовать использовать точки восстановления системы на дату, когда ошибка не проявляла себя.
Пересоздание базы данных каталогов
Рассматриваемая проблема при запуске оснасток MMC часто возникает из-за ошибок инициализации базы данных каталогов. Проверить, в этом ли дело, можно изучив события в «Просмотре событий Windows»: при наличии ошибок с кодами событий 256 и 642 с источниками CAPI2 и ESENT, причина, по всей видимости, именно в этом.
Решение будет следующим (предварительно сохраните все несохраненные документы):
- Запустите Терминал Windows или Windows PowerShell от имени администратора, сделать это можно нажав правой кнопкой мыши по кнопке Пуск и выбрав соответствующий пункт контекстного меню.
- По порядку введите следующие три команды:
Stop-Service cryptsvc Rename-Item -Path "C:\Windows\System32\catroot2" -NewName catroot2.old Restart-Computer -Force
- После выполнения третьей команды компьютер будет автоматически перезагружен.
То же самое можно выполнить в командной строке, запущенной от имени администратора:
SC stop CryptSvc ren C:\Windows\System32\catroot2 catroot2.old shutdown -r -t 0
Выполнив описанные действия, проверьте, была ли решена проблема после перезагрузки: вероятнее всего, ошибки, сообщающие о блокировке запуска mmc.exe администратором, не повторятся.
Другие способы исправить проблему заблокированного выполнения mmc.exe
Прежде чем выполнять некоторые из шагов, описанных далее, желательно убедиться, что на вашем компьютере оригинальный файл mmc.exe, то есть он не был подменён каким-то вредоносным ПО или испорчен. Для этого:
- Для проверки целостности файла (и того факта, что это действительно системный файл) в командной строке от имени администратора используйте команду
sfc /scanfile=C:\Windows\System32\mmc.exe
- При опасениях можно проверить файл mmc.exe из System32 с помощью VirusTotal
- По некоторым сообщениями, иногда может сработать простая проверка диска на ошибки с помощью команды
chkdsk С: /F /R
в командной строке.
Далее можно приступить к исправлению проблемы, возможные варианты:
- Запустите secpol.msc с помощью окна «Выполнить» (или, если запуск не выполняется — описанным в первом разделе способом с помощью командной строки), перейдите в «Локальные политики» — «Параметры безопасности» и найдите параметр «Контроль учетных записей: все администраторы работают в режим одобрения администратором». Установите его значение в «Отключен», сохраните настройки и обязательно перезагрузите компьютер.
- По некоторым отзывам, фильтр SmartScreen может вызывать рассматриваемую проблему в некоторых версиях Windows. Решение — попробовать отключить его, для этого необходимо зайти в «Безопасность Windows» — «Управление приложениями/браузером» — «Параметры защиты на основе репутации» и отключить проверку приложений и файлов, а также потенциально нежелательных приложений с помощью SmartScreen.
- Можно попробовать временно отключить контроль учетных записей, подробнее: Как отключить UAC или контроль учётных записей Windows 10.
Среди часто предлагаемых способов — проверка запрещенных оснасток в gpedit.msc для Pro или Enterprise версий Windows 11 и Windows 10 (запустить при ошибках также можно попробовать через командную строку). На мой взгляд, он не совсем подходит для рассматриваемой ошибки, но в целях проверки ограничений можно попробовать:
- Запустите gpedit.msc
- Перейдите в раздел «Конфигурация пользователя» — «Административные шаблоны» — «Компоненты Windows» — «Консоль управления (MMC)».
- Проверьте параметр «Ограничить пользователей списком явно разрешенных оснасток» (должно быть «На задана»).
- Откройте подраздел «Запрещенные и разрешенные оснастки». По умолчанию значение для всех параметров также должно быть «Не задана».
- Если для каких-то из политик задано «Отключена», дважды нажмите по ней и установите значение «Не задана», а затем примените настройки.
В случае, если на вашем компьютере установлена домашняя редакция системы, gpedit будет недоступным, но вы можете проверить значения в разделе реестра
HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft
в нём по умолчанию должен отсутствовать подраздел MMC с любыми значениями и вложенными разделами.
Если одно из предложенных решений оказалось рабочим в вашей ситуации, прошу поделиться в комментариях, какое именно: это поможет собрать полезную статистику.
Все способы:
- Запускаем «Командную строку» с административными правами
- Способ 1: Меню «Пуск»
- Способ 2: Поиск
- Способ 3: Окно «Выполнить»
- Способ 4: Исполняемый файл
- Создание ярлыка для быстрого доступа
- Заключение
- Вопросы и ответы: 2
«Командная строка» — важный компонент любой операционной системы семейства Windows, и десятая версия не является исключением. С помощью данной оснастки можно управлять ОС, ее функциями и входящими в состав элементами посредством ввода и выполнения различных команд, но для реализации многих из них требуется обладать правами администратора. Расскажем, как открыть и использовать «Строку» с этими полномочиями.
Читайте также: Как запустить «Командную строку» в Виндовс 10
Запускаем «Командную строку» с административными правами
Вариантов обычного запуска «Командной строки» в Windows 10 существует довольно много, и все они подробно рассмотрены в представленной по ссылке выше статье. Если же говорить о запуске данного компонента ОС от имени администратора, то их существует всего четыре, по крайней мере, если не пытаться заново изобретать велосипед. Каждый находит свое применение в той или иной ситуации.
Способ 1: Меню «Пуск»
Во всех актуальных и даже морально устаревших версиях Виндовс доступ к большинству стандартных инструментов и элементов системы можно получить через меню «Пуск». В «десятке» же данный раздел ОС был дополнен контекстным меню, благодаря которому наша сегодняшняя задача решается буквально в несколько кликов.
- Наведите указатель курсора на значок меню «Пуск» и кликните по нему правой кнопкой мышки (ПКМ) либо же просто нажмите «WIN+X» на клавиатуре.
- В появившемся контекстном меню выберите пункт «Командная строка (администратор)», кликнув по нему левой кнопкой мышки (ЛКМ). Подтвердите свои намерения в окне контроля учетных записей, нажав «Да».
- «Командная строка» будет запущена от имени администратора, можете смело приступать к выполнению необходимых манипуляций с системой.
Читайте также: Как отключить средство контроля учетных записей в Windows 10
Запуск «Командной строки» с правами администратора через контекстное меню «Пуска» является наиболее удобным и быстрым в реализации, легким в запоминании. Мы же рассмотрим другие возможные варианты.
Способ 2: Поиск
Как известно, в десятой версии Windows была полностью переработана и качественно улучшена система поиска – сейчас она действительно удобна в использовании и позволяет легко находить не только нужные файлы, но и различные программные компоненты. Следовательно, воспользовавшись поиском, можно вызвать в том числе и «Командную строку».
- Нажмите по кнопке поиска на панели задач или воспользуйтесь комбинацией горячих клавиш «WIN+S», вызывающей аналогичный раздел ОС.
- Введите в поисковую строку запрос «cmd» без кавычек (или начните вводить «Командная строка»).
- Увидев в перечне результатов интересующий нас компонент операционной системы, кликните по нему ПКМ и выберите пункт «Запуск от имени администратора»,
после чего «Строка» будет запущена с соответствующими полномочиями.
С помощью встроенного в Виндовс 10 поиска можно буквально в несколько кликов мышки и нажатий по клавиатуре открывать любые другие приложения, как стандартные для системы, так и установленные самим пользователем.
Способ 3: Окно «Выполнить»
Существует и немного более простой вариант запуска «Командной строки» от имени Администратора, чем рассмотренные выше. Заключается он в обращении к системной оснастке «Выполнить» и использовании комбинации горячих клавиш.
- Нажмите на клавиатуре «WIN+R» для открытия интересующей нас оснастки.
- Введите в нее команду
cmd
, но не спешите нажимать на кнопку «ОК». - Зажмите клавиши «CTRL+SHIFT» и, не отпуская их, воспользуйтесь кнопкой «ОК» в окне или «ENTER» на клавиатуре.
Это, наверное, самый удобный и быстрый способ запуска «Командной строки» с правами Администратора, но для его реализации необходимо запомнить парочку простых шорткатов.
Способ 4: Исполняемый файл
«Командная строка» – это обычная программа, следовательно, запустить ее можно точно так же, как и любую другую, главное, знать месторасположение исполняемого файла. Адрес директории, в которой находится cmd, зависит от разрядности операционной системы и выглядит следующим образом:
C:\Windows\SysWOW64
– для Windows x64 (64 bit)
C:\Windows\System32
– для Windows x86 (32 bit)
- Скопируйте путь, соответствующий разрядности установленной на вашем компьютере Виндовс, откройте системный «Проводник» и вставьте это значение в строку на его верхней панели.
- Нажмите «ENTER» на клавиатуре или указывающую вправо стрелку в конце строки, чтобы перейти в нужное расположение.
- Пролистайте содержимое директории вниз, пока не увидите там файл с названием «cmd».
Примечание: По умолчанию все файлы и папки в директориях SysWOW64 и System32 представлены в алфавитном порядке, но если это не так, нажмите по вкладке «Имя» на верхней панели, чтобы упорядочить содержимое по алфавиту.
- Отыскав необходимый файл, кликните по нему правой кнопкой мышки и выберите в контекстном меню пункт «Запуск от имени администратора».
- «Командная строка» будет запущена с соответствующими правами доступа.
Создание ярлыка для быстрого доступа
Если вам часто приходится работать с «Командной строкой», да еще и с правами администратора, для более быстрого и удобного доступа рекомендуем создать ярлык этого компонента системы на рабочем столе. Делается это следующим образом:
- Повторите шаги 1-3, описанные в предыдущем способе данной статьи.
- Кликните ПКМ по исполняемому файлу «cmd» и поочередно выберите в контекстном меню пункты «Отправить» — «Рабочий стол (создать ярлык)».
- Перейдите на рабочий стол, найдите созданный там ярлык «Командной строки». Нажмите по нему правой кнопкой мышки и выберите пункт «Свойства».
- Во вкладке «Ярлык», которая будет открыта по умолчанию, нажмите по кнопке «Дополнительно».
- Во всплывающем окне установите галочку напротив пункта «Запуск от имени администратора» и нажмите «ОК».
- С этого момента, если использовать для запуска cmd ранее созданный на рабочем столе ярлык, она будет открываться с правами администратора. Для закрытия окна «Свойств» ярлыка следует нажать «Применить» и «ОК», но не спешите этого делать…
…в окне свойств ярлыка можно также задать комбинацию клавиш для быстрого вызова «Командной строки». Для этого во вкладке «Ярлык» кликните ЛКМ по полю напротив наименования «Быстрый вызов» и нажмите на клавиатуре желаемую комбинацию клавиш, например, «CTRL+ALT+T». Затем нажмите «Применить» и «ОК», чтобы сохранить внесенные изменения и закрыть окно свойств.
Заключение
Ознакомившись с этой статьей, вы узнали обо всех существующих способах запуска «Командной строки» в Windows 10 с правами администратора, а также о том, как ощутимо ускорить данный процесс, если приходится часто пользоваться этим системным инструментом.
Наша группа в TelegramПолезные советы и помощь
Все способы:
- Способ 1: Контекстное меню
- Способ 2: Меню «Пуск»
- Вариант 1: Список программ
- Вариант 2: Сочетание клавиш
- Вариант 3: Результат поиска
- Способ 4: Свойства программы
- Способ 5: Свойства ярлыка
- Способ 6: «Командная строка»
- Способ 7: Диалоговое окно «Выполнить»
- Способ 8: «Диспетчер задач»
- Способ 9: «Проводник»
- Способ 10: «Редактор реестра»
- Вопросы и ответы: 0
Способ 1: Контекстное меню
Самый простой и быстрый способ запустить программу от имени администратора – это воспользоваться ее контекстным меню. Щелкните правой кнопкой мыши по ярлыку или исполняемому файлу, затем из появившегося списка выберите «Запуск от имени администратора».
Способ 2: Меню «Пуск»
Практически все основные программы и инструменты, включая штатные средства Windows 10, находятся в главном меню «Пуск». Через список установленного софта можно запустить игры и приложения с расширенными правами несколькими способами.
Вариант 1: Список программ
Этот вариант предусматривает поиск не по названию, а через список всего, что установлено:
- Кликните по кнопке «Пуск» на нижней панели, затем внутри него отыщите нужное приложение. Обратите внимание на то, что программа может быть в папке, которую нужно развернуть, и при этом ее название может отличаться от имени самого приложения: например, это разработчик или компания-издатель, что чаще всего бывает с играми.
- Кликните по значку программы правой кнопкой мыши и в меню наведите курсор на «Дополнительно», затем выберите пункт запуска от имени администратора.
Вариант 2: Сочетание клавиш
Поскольку в ОС предусмотрена работа с горячими клавишами, то и запуск программ с расширенными правами возможен с помощью них. Для этого нажмите на «Пуск», визуально найдите нужную программу, затем одновременно зажмите клавиши «Ctrl + Shift» и, не отпуская их, мышкой щелкните по названию софта.
Вариант 3: Результат поиска
И еще один метод открыть так программу через меню «Пуск» — это использование системного поиска, точнее его результата:
- Раскройте меню «Пуск» (если пользуетесь отдельной кнопкой в виде лупы, используйте ее — это непринципиально).
- В строке введите название программы, которую нужно запустить с расширенными правами. Вверху появится результат, который больше всего соответствует запросу, а справа — дополнительное окно с основными функциями. Там и выберите пункт «Запуск от имени администратора».
Способ 4: Свойства программы
Через раздел со свойствами исполняемого файла конкретной программы можно сделать так, чтобы она запускалась от имени администратора всегда, и ни один из способов из этой статьи использовать больше не придется.
- Щелкните правой кнопкой мыши по значку приложения. Это может быть как ярлык, так и EXE-файл. Из контекстного меню выберите пункт «Свойства».
- На вкладке «Совместимость» отметьте пункт «Запускать эту программу от имени администратора».
- Примените и сохраните настройки.
В результате этого выбранное приложение при запуске будет автоматически открываться с повышенными полномочиями, пока отметка с опции в «Свойствах» не будет убрана.
Способ 5: Свойства ярлыка
Для ярлыка программы также есть вариант запуска от имени администратора, если предыдущий способ не подошел или не сработал.
- Как и в Способе 4 перейдите в окно «Свойства». Только в этом случае нужно выбрать вкладку «Ярлык». Кликните по кнопке «Дополнительно».
- В новом окне поставьте галочку у опции запуска с расширенными правами. Нажмите на кнопку «ОК».
- Затем в «Свойствах» также примените и подтвердите настройки ярлыка.
Способ 6: «Командная строка»
Консоль «Командная строка» позволяет не только просматривать различную информацию и настраивать ОС без использования интерфейсов, но и запускать программы, в том числе с расширенными правами. Метод имеет смысл использовать, если вы хотите запустить таким образом несколько программ сразу.
- Запустите «Командную строку», найдя ее по названию в «Пуске». В свою очередь, открытие нужно выполнить от имени администратора.
- Поскольку консоль открыта с расширенными правами, то и все программы, запущенные через нее, также откроются от имени администратора. Вставьте команду такого вида:
runas /user:Имя компьютера\Имя пользователя Название программы.exe
, где «Имя компьютера» — это название устройства, а «Имя пользователя» — учетной записи. Это сработает, если исполняемый файл находится на рабочем столе. Если нет, придется вместо названия ввести путь к нему на диске. Например, если это Photoshop, то адрес будет таким:C:\Program Files\Adobe\Adobe Photoshop CC 2018
. После того как путь будет прописан, нажмите на клавишу «Enter». - Останется ввести пароль от учетной записи в окне «Командной строки» и нажать на клавишу ввода.
Читайте также: Как узнать имя компьютера с Windows 10
Если вы не знаете, как отыскать директорию программы, то перейдите в «Свойства» ее ярлыка (на рабочем столе), затем на вкладке «Ярлык» нажмите на кнопку «Расположение файла» либо скопируйте его из поля «Объект».
При наличии приложения в меню «Пуск» щелкните по его значку правой кнопкой мыши и наведите курсор на «Дополнительно», затем выберите «Перейти к расположению файла».
Когда переход к директории в «Проводнике» осуществлен, скопируйте путь из адресной строки.
Способ 7: Диалоговое окно «Выполнить»
Еще один альтернативный метод решения поставленной задачи.
- Одновременно зажмите клавиши «Win + R», чтобы открыть окно «Выполнить». В строку впишите название программы с расширением, на нашем примере это
photoshop.exe
. - Зажмите клавиши «Ctrl + Shift» и, не отпуская сочетание, кликните по кнопке «ОК».
Способ 8: «Диспетчер задач»
Если через «Проводник» или «Пуск» нет возможности запустить программу от имени администратора, то с этим сможет помочь «Диспетчер задач» и его функции:
- Откройте «Диспетчер задач». Для этого щелкните правой кнопкой мыши по нижней рабочей панели и выберите соответствующий пункт.
- В открывшемся окне нажмите на вкладку «Файл», затем выберите «Запустить новую задачу».
- В пустом поле напишите название софта и отметьте пункт ниже – «Создать задачу с правами администратора». Нажмите на «ОК».
Если все было сделано правильно, на соответствующей вкладке «Диспетчера задач» отобразится новый процесс, а окно нужной программы будет открыто.
Способ 9: «Проводник»
На панели инструментов «Проводника» также есть инструмент, запускающий программу с расширенными правами. Но для этого сперва понадобится перейти в директорию приложения. Затем откройте вкладку «Средства работы с приложениями». Ниже, в блоке «Запуск» есть кнопка «Запустить от имени администратора». Нажмите на нее.
Когда строки «Запуск от имени администратора» в «Проводнике» нет, то, скорее всего, произошел системный сбой или выставлены некорректные настройки UAC (контроля учетных записей). Если у вас именно такая проблема, прочитайте о методах решения подобных проблем в наших отдельных статьях.
Подробнее:
Использование и восстановление проверки целостности системных файлов в Windows 10
Отключение UAC в Windows 10
Способ 10: «Редактор реестра»
Задать запуск программы от имени администратора можно посредством создания нового параметра в системном реестре. Метод крайне специфический и подойдет только в редких ситуациях.
- Откройте «Редактор реестра». Для этого можно воспользоваться системным поиском «Пуска».
- Разверните ветку:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
. В основной части окна кликните по свободной области правой кнопкой мыши и выберите пункт «Создать» > «Строковый параметр». - Задайте имя новому параметру – оно должно соответствовать пути к исполняемому файлу программы.
- Откройте окно с настройками параметра, щелкнув по нему левой кнопкой мыши дважды. В строке «Значение» пропишите
~ RUNASADMIN
и нажмите на «ОК».
Наша группа в TelegramПолезные советы и помощь
Некоторые программы при запуске могут требовать повышения прав до администратора (значок щита у иконки), однако на самом деле для их нормальной работы права администратора не требуется (например, вы можете вручную предоставить необходимые NTFS разрешения пользователям на каталог программы в Program Files и ее ветки реестра). Если на компьютере включен контроль учетных записей (User Account Control), то при запуске такой программы из-под непривилегированного пользователя появится запрос UAC и Windows потребует от пользователя ввести пароль администратора. Чтобы обойти этот механизм многие просто отключают UAC или предоставляют пользователю права администратора на компьютере, добавляя его в группу локальных администраторов. Оба эти способа не рекомендуется широкого использовать, т.к. вы снижаете безопасность и защиту Windows. В этой статье мы рассмотрим, как запустить программу, которая требует права администратора, от имени простого пользователя и подавить запрос повышения привилегий UAC.
Содержание:
- Предоставить пользователю права на запуск программы
- Запуск программы, требующей права администратора, от обычного пользователя
- Запуск программы в режиме RunAsInvoker из командной строки
- Включить режим RunAsInvoker в манифесте exe файла программы
- Запуск программы с сохраненным паролем администратора
Предоставить пользователю права на запуск программы
Программа может запрашивать права администратора при запуске, если:
- Программе нужно получить доступ на системный каталог или файл, на отсутствуют NTFS разрешения для непривилегированных пользователей;
- Если программа собрана со специальным флагом, которые требует повышения прав при запуске (requireAdministrator).
В первом случае для решения проблемы администратору достаточно предоставить RW или Full Control разрешения на каталог программы или необходимый системных каталог. Например, программа хранит свои файлы (логи, файлы конфигурации и т.д.) в собственной папке в C:\Program Files (x86)\SomeApp) или каком-то системном каталоге. Для корректной работы программы пользователю нужны права записи в эти файлы. По умолчанию у пользователей нет прав на редактирование данного каталога, соответственно, для нормальной работы такой программы нужны права администратора.
Чтобы разрешить запуск программы под непривилегированным пользователем администратора достаточно вручную предоставить пользователю (или встроенной группе Users) права на изменение/запись на файл/каталог на уровне файловой системы NTFS.
Чтобы найти список файлов, папок и ключей реестра, к которым обращается программа, воспользуйтесь утилитой Process Monitor (https://learn.microsoft.com/en-us/sysinternals/downloads/procmon). Включите фильтр по имени процесса программы и найдите все ресурсы, при доступе к которым появляется Access Denied. Предоставьте необходимые права на папки/файлы/ветки реестра.
Примечание. В рекомендациях Microsoft для разработчиков указано, что не рекомендуется хранить изменяющиеся данных приложения в каталоге C:\Program Files неверна. Правильнее хранить данные приложения в профиле пользователя. Но это уже вопрос о лени и некомпетентности разработчиков программ.
Запуск программы, требующей права администратора, от обычного пользователя
Ранее мы уже описывали, как можно с помощью параметра RunAsInvoker отключить запрос UAC для конкретной программы. Однако этот метод недостаточно гибкий.
Рассмотрим более простой способ принудительного запуска любой программы без прав администратора (и без ввода пароля админа) при включенном UAC (4,3 или 2 уровень ползунка UAC).
Для примера возьмем утилиту редактирования реестра — regedit.exe (она находится в каталоге C:\windows\). Обратите внимание на щит UAC у иконки. Данный значок означает, что для запуска этой программы будет запрошено повышение привилегий через UAC.
Если запустить
regedit.exe
, то перед вами появится окно User Account Contol с запросом пароля пользователя с правами администратора на этом компьютере (
Do you want to allow this app to make changes to your device?
). Если не указать пароль и не подтвердить повышение привилегии, приложение не запустится.
Попробуем обойти запрос UAC для этой программы. Создайте на рабочем столе файл run-as-non-admin.bat со следующим текстом:
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"
Теперь для принудительного запуска приложения без прав администратора и подавлением запроса UAC, просто перетащите нужный exe файл на этот bat файл на рабочем столе.
Редактор реестра должен запуститься без появления запроса UAC и без ввода пароля администратора. Откройте диспетчер процессов, добавьте столбец Elevated и убедитесь, что в Windows запушен непривилегированный процесс regedit (запущен с правами пользователя).
Попробуйте отредактировать любой параметр в ветке HKEY_LOCAL_MACHINE. Как вы видите доступ на редактирование реестра в этой ветке запрещен (у данного пользователя нет прав на запись в системные ветки реестра). Но вы можете добавлять и редактировать ключи в собственной ветке реестра пользователя — HKEY_CURRENT_USER.
Аналогичным образом через bat файл можно запускать и конкретное приложение, достаточно указать путь к исполняемому файлу.
run-app-as-non-admin.bat
Set ApplicationPath="C:\Program Files\MyApp\testapp.exe"
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"
Также можно добавить контекстное меню, которое добавляет у всех приложений возможность запуска без повышения прав. Для этого создайте файл runasuser.reg файл, скопируйте в него следующий код, сохраните и импортируйте его в реестр двойным щелчком по reg файлу (понадобятся права администратора).
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker] @="Run as user without UAC elevation" [HKEY_CLASSES_ROOT\*\shell\forcerunasinvoker\command] @="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""
После этого для запуска любого приложения без прав админа достаточно выбрать пункт “Run as user without UAC elevation” в контекстном меню проводника Windows File Explorer.
Еще раз напомню, что использование программы в режиме RUNASINVOKER не запускает приложение с правами администратора. Параметр AsInvoker подавляет запрос UAC и указывает программе, что она должна запуститься с правами текущего пользователя и не запрашивать повышение привилегий. Если программе действительно нужны повышенные права для редактирования системных параметров или файлов, она не будет работать или повторно запросит права администратора.
Запуск программы в режиме RunAsInvoker из командной строки
Переменная окружения __COMPAT_LAYER позволяет устанавливать различные уровни совместимости для приложений (вкладка Совместимость в свойствах exe файла). С помощью этой переменной можно указать настройки совместимости, с которыми нужно запускать программу. Например, для запуска приложения в режиме совместимости с Windows 7 и разрешением 640×480, установите:
set __COMPAT_LAYER=Win7RTM 640x480
Из интересных нам опций переменной __COMPAT_LAYER можно выделить следующие параметры:
- RunAsInvoker — запуск приложения с привилегиями родительского процесса без запроса UAC;
- RunAsHighest — запуск приложения с максимальными правами, доступными пользователю (запрос UAC появляется, если у пользователя есть права администратора);
- RunAsAdmin — запустить приложение с правами администратора (запрос AUC появляется всегда).
Следующие команды включат режим RUNASINVOKER для текущего процесса и запускает указанную программу:
set __COMPAT_LAYER=RUNASINVOKER
start "" "C:\Program Files\MyApp\testapp.exe"
Включить режим RunAsInvoker в манифесте exe файла программы
Как мы уже говорили выше, Windows показывает значок щита UAC у программ, которые требуют повышенных привилегий для запуска. Это требование разработчики задают при разработке в специальной секции программы — манифесте.
Вы можете отредактировать манифест исполняемого exe файла программы и отключить требование запускать программу в привилегированном режиме.
Для редактирования манифеста программы можно использовать бесплатную утилиту Resource Hacker. Откройте исполняемый файл программы в Resource Hacker.
В дереве слева перейдите в раздел Manifest и откройте манифест программы. Обратите внимание на строки:
<requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges>
Именно благодаря опции requireAdministrator Windows всегда запускает эту программу с правами администратора.
Измените requireAdministrator на asInvoker и сохраните изменения в exe файле.
Обратите внимание, что теперь у иконки программы пропал щит UAC и вы можете запустить ее без запроса прав администратора с привилегиями текущего пользователя.
Если исполняемый файл программы подписан цифровой подпись (сертификатом Code Signing), то после модификации exe файла, он может перестать запускаться или выдавать предупреждение.
В этом случае можно заставить программу использовать внешний файл манифеста. Создайте в каталоге с ехе файлом текстовый файл
app.exe.manifest
(например Autologon.exe.manifest) и скопируйте в него код манифеста из Resource Hacker. Измените requireAdministrator на asInvoker. Сохраните файл.
Чтобы Windows при запуске приложений всегда пробовала использовать внешний файл манифеста, включите специальный параметр реестра:
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide" /v PreferExternalManifest /t REG_DWORD /d 1 /f
Перезагрузите Windows и убедитесь, что программа использует внешний файл манифеста, и запускается без прав администратора.
Запуск программы с сохраненным паролем администратора
Если способы запуска программы через режим RunAsInvoker не работают для вашего устаревшего приложения, можно попробовать запускать такие программы в сессии пользователя с помощью сохраненного пароля администратора. Этот способ мы целенаправленно оставили последним, т.к. это наименее безопасный способ запуска программ без предоставления прав локального администратора пользователю.
Создайте на рабочем столе новый ярлык для запуска программы. Укажите имя компьютера, имя локального администратора и полный путь к исполняемому файлу программы.
Например:
runas /user:wks-1122h2\root /savecred "C:\CorpApp\myapp.exe"
Запустите ярлык под пользователем. При первом запуске откроется командная строка, в которой нужно будет указать пароль администратора.
Утилита RunAs при запуске с параметром /SAVECRED сохраняет имя пользователя и пароль в диспетчере паролей Windows (Credentials Manager).
При следующем запуске ярлыка утилита runas автоматически получит сохраненный пароль из Credentials Manager и использует его для запуска программы от имени указанного локального администратора (пароль не запрашивается повторно при каждом запуске).
Вы можете вывести список пользователей с сохраненными паролями в Credential Manager с помощью команды:
RunDll32.exe keymgr.dll,KRShowKeyMgr
В Windows 11 при запуске такого ярлыка появляется ошибка:
RUNAS ERROR: Unable to run - C:\CorpApp\myapp.exe 740: The requested operation requires elevation.
Чтобы исправить ошибку, отредактируйте команду в свойствах ярлыка. Замените ее на:
C:\Windows\System32\runas /profile /user:WKS-1122H2\root /savecred "cmd.exe /C C:\CorpApp\myapp.exe"
Как мы указывали выше, использование параметра
/savecred
не безопасно, т.к. пользователь, в чьем профиле сохранен чужой пароль может использовать его для запуска любой программы или команды под данными привилегиями, или даже сменить пароль пользователя с правами администратора. Кроме того, сохраненные пароли из Credential Manager можно получить в открытом виде с помощью утилит типа Mimikatz, лучше <запретить использование сохраненных паролей.
В Windows можно заблокировать возможность сохранения паролей в Credential Manager с помощью параметра групповой политики Network access: Do not allow storage of passwords and credentials for network authentication (Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options).
Преодолеть недостаток использования сохраненного пароля через runas позволяют несколько сторонних утилит. Например, AdmiLink, RunAsRob, RunAsSpc. Эти программы позволяют сохранить пароль администратора в зашифрованном виде и безопасно запустить программу с правами администратора. Эти утилиты проверяют при запуске путь и контрольную сумму исполняемого файла и не позволят запустить произвольную программу.