Почему некоторые приложения windows не работают под обычными пользователями и требуют прав администратора?
Приложению могут потребоваться права администратора для изменения некоторых файлов (журналов, конфигураций и т. д.) В своей папке C:Program Files (x86)Приложение. По умолчанию пользователи не имеют прав на редактирование (запись и изменение) этого каталога.
Для нормальной работы этой программы требуются права администратора. Чтобы решить эту проблему, необходимо вручную предоставить разрешение на изменение и/или запись для пользователя (или группы пользователей) в папке приложения на уровне NTFS.
Runasinvoker в переменной окружения __compat_layer
Переменная окружения __COMPAT_LAYER позволяет устанавливать различные уровни совместимости для приложений (вкладка Совместимость в свойствах exe файла). С помощью этой переменной можно указать настройки совместимости, с которыми нужно запускать программу. Например, для запуска приложения в режиме совместимости с Windows 7 и разрешением 640×480, установите:
set __COMPAT_LAYER=Win7RTM 640×480
Из интересных нам опций переменной __COMPAT_LAYER можно выделить следующие параметры:
Следующий код включает режим RUNASINVOKER для текущего процесса и запускает указанную программу:
set __COMPAT_LAYER=RUNASINVOKER
start “” “C:Program FilesMyApptestapp.exe”
Альтернативные способы сброса пароля
Для системы Windows 7 и более поздних версий существуют альтернативные способы изменения заветной комбинации. Однако данные методы являются более трудоемкими и подойдут далеко не всем пользователям, которые пытаются разобраться с вопросом, как устанавливать программы без прав администратора.
Они предполагают работу с установочным диском Windows 7 (менее трудоемкая операция) и внесение специфических правок в реестр (более сложный способ). Способы подходят для квалифицированных пользователей, которые хорошо разбираются в том, как устроена операционная система.
Вариант 2.
Рассмотрим еще один способ. Вы можете добавить контекстное меню, которое позволяет запускать все приложения без повышения прав. Для этого создайте следующий файл REG и импортируйте его в реестр.
Включаем режим runasinvoker через манифест exe файла программы
Как мы уже говорили выше, Windows 10 показывает значок щита UAC у программ, которые для запуска требуют повышение привилегий. Это требование разработчики задают при разработке в специальной секции программы — манифесте.
Вы можете отредактировать манифест exe файла программы и отключить требование запускать программу в привилегированном режиме.
Для редактирования манифеста программы можно использовать бесплатную утилиту Resource Hacker. Откройте исполняемый файл программы в Resource Hacker.
В дереве слева перейдите в раздел Manifest и откройте манифест программы.
Обратите внимание на строки:
Запуск программы, требующей права администратора, от обычного пользователя
Ранее мы уже описывали, как можно с помощью параметра RunAsInvoker отключить запрос UAC для конкретной программы. Однако этот метод недостаточно гибкий.
Также можно воспользоваться RunAs с сохранением пароля админа /SAVECRED в диспетчере паролей Windows (Credentials Manager). Это также небезопасно, т.к. пользователь может использовать сохранённый пароль учетной записи администратора для запуска других программ.
Рассмотрим более простой способ принудительного запуска любой программы без прав администратора (и без ввода пароля админа) при включенном UAC (4,3 или 2 уровень ползунка UAC).
Для примера возьмем утилиту редактирования реестра — regedit.exe (она находится в каталоге C:windows). Обратите внимание на щит UAC у иконки. Данный значок означает, что для запуска этой программы будет запрошено повышение привилегий через UAC.
Использование portable-версий программ
Для начала следует рассмотреть самый простой путь обхода ограничений, наложенных администратором. Сегодня существует огромный выбор портативных версий программ, которые не требуют установки для своего использования. Можно даже найти специальные подборки популярного софта Portable.
Приложения копируются на флешку или другой носитель, после чего их можно запускать на любом компьютере с правами обычного пользователя. Установки они не требуют. Пользователи, для которых компьютерная грамотность является не просто пустым звуком, знают об этой возможности.
Если кому-то нужно воспользоваться популярной программой, нужно просто ввести в поисковике ее название с припиской Portable. Google и «Яндекс» выдадут большое количество страниц, где можно будет загрузить соответствующую портативную версию приложения.
Как сбросить пароль администратора в системе windows и получить привилегии для установки программ
Для сброса администраторского пароля нужно выполнить следующую последовательность действий.
Как устанавливать программы без прав администратора: сброс пароля и повышение привилегий
Способ предполагает использование специальной утилиты. Название программы – Offline NT Password and Registry Editor. Она позволяет работать с системами Windows версий XP/7/ 8/10, а также Vista. Утилита может быть загружена с флешки, диска CD или DVD.
Интерфейс приложения прост и интуитивно понятен, хоть все пункты меню и выполнены на английском языке. Удобства добавляет и тот факт, что требуемая опция предлагается пользователю по умолчанию. После того как пароль администратора системы будет сброшен, установка программ на диск станет доступна в штатном режиме.
Чтобы использовать Offline NT PRE, нужно создать мультизагрузочную флешку, загрузив предварительно образ утилиты. Подробные инструкции по этому вопросу в изобилии представлены в Интернете. Искать следует по ключу «создание мультизагрузочной флешки». Теперь стоит подробнее остановиться на работе с самим приложением.
Нет, не будет тебе прав
В системе Windows, начиная с Vista, появилась служба UAC, которая помимо прочего отвечает за запросы программ на повышение прав. Не все программы «переваривали» работу с этой службой. Поэтому в системе был доработан механизм совместимости приложений, позволяющий прямо задать программе ее поведение — запрашивать права или нет.
Простейшим вариантом работы с этим механизмом будет использование переменных среды.
Рассмотрим пример с редактором реестра. Действительно, запуская regedit.exe под администратором, мы получаем запрос на повышение прав:
Запрос повышение прав.
Если же мы запустим редактор реестра из консоли, предварительно поменяв значение переменной среды __COMPAT_LAYER на:
set __COMPAT_LAYER=RUNASINVOKERТо запроса UAC не будет, как и административных прав у приложения:
Бесправный редактор реестра.
Ну ладно, держи права
Казалось бы, самым очевидным решением для запуска нашего странного ПО выглядит использование встроенной утилиты Runas. Документация доступна на сайте Microsoft.
Ну, посмотрим, что из этого выйдет.
Команда:
Ну, и зачем тебе права?
Программа может запрашивать права администратора условно в двух случаях:
- Когда хочет получить доступ туда, куда «простым смертным» нельзя: например, создавать файлы в системных каталогах.
- Когда программу скомпилировали со специальным флагом «Требовать права администратора».
С первым случаем все понятно: берем в руки замечательную программу Марка Руссиновича Process Monitor, смотрим, что происходит, и куда программа пытается залезть:
Куда это лезет этот 7Zip?
И по результатам исследования выдаем права пользователю на нужный каталог или ветку реестра.
Сложнее, если случай клинический, и так просто выдать права не получится: например, программа требует сильного вмешательства в работу системы вроде установки драйверов. Тогда придется придумывать всякий колхоз, про который речь пойдет в последнем разделе статьи. Пока подробнее освещу второй случай — когда стоит флажок.
Если сильно упростить, то в специальном манифесте программы (к слову, установщики — это тоже программы) могут быть три варианта запуска:
Если разработчик твердо решил требовать права администратора, даже если они не нужны, то обойти это можно малой кровью.
Ограничения в использовании портативного софта
И еще один маленький нюанс. Стоит учитывать, что запуск программы в версии Portable может занимать на несколько секунд больше. Возможны незначительные функциональные ограничения. Поэтому, если есть возможность, рекомендуется выполнить полную инсталляцию приложения, как предусмотрено в стандартной схеме.
Предложенное решение подойдет и людям, которым нужен популярный софт. Если же речь идет о каких-то специфических программах, которые используются ограниченными категориями пользователей, то данный вариант не поможет. Ведь портативную версию такого приложения просто невозможно будет найти.
Подводные камни обхода администраторских ограничений
Если вышеописанная процедура выполняется на офисном компьютере, пользователь должен понимать степень ответственности за свои действия. Ведь компьютерная грамотность предполагает ответственное отношение к ограничениям, установленным администратором. А самовольное изменение системных настроек эту концепцию нарушает.
Рано или поздно администратор обнаружит несанкционированное изменение пароля и может наказать нарушителя. Поэтому рекомендуется применить военную хитрость. Пароль нужно не просто сбросить, а указать определенную комбинацию символов. В этом случае появится возможность погасить инцидент ссылкой на забывчивость или ошибку админа.




