как установить драйвера без прав администратора windows 10

[Конспект админа] Что делать, если программа хочет прав администратора, а вы нет

как установить драйвера без прав администратора windows 10

К сожалению, в работе сисадмина нет-нет да и приходится разрешать пользователям запускать всякий софт с админскими правами. Чаще всего это какие-нибудь странные китайские программы для работы с оборудованием. Но бывают и другие ситуации вроде небезызвестного bnk.exe.

Выдавать пользователю права администратора, чтобы решить проблему быстро и просто, противоречит нормам инфобезопасности. Можно, конечно, дать ему отдельный компьютер и поместить в изолированную сеть, но — это дорого и вообще…

Попробуем разобрать решения, которые позволят и программу запустить, и безопасника с финансистом не обозлить.

Ну, и зачем тебе права?

Программа может запрашивать права администратора условно в двух случаях:

С первым случаем все понятно: берем в руки замечательную программу Марка Руссиновича Process Monitor, смотрим, что происходит, и куда программа пытается залезть:

как установить драйвера без прав администратора windows 10

Куда это лезет этот 7Zip?

И по результатам исследования выдаем права пользователю на нужный каталог или ветку реестра.

Сложнее, если случай клинический, и так просто выдать права не получится: например, программа требует сильного вмешательства в работу системы вроде установки драйверов. Тогда придется придумывать всякий колхоз, про который речь пойдет в последнем разделе статьи. Пока подробнее освещу второй случай — когда стоит флажок.

Если сильно упростить, то в специальном манифесте программы (к слову, установщики — это тоже программы) могут быть три варианта запуска:

Если разработчик твердо решил требовать права администратора, даже если они не нужны, то обойти это можно малой кровью.

Нет, не будет тебе прав

В системе Windows, начиная с Vista, появилась служба UAC, которая помимо прочего отвечает за запросы программ на повышение прав. Не все программы «переваривали» работу с этой службой. Поэтому в системе был доработан механизм совместимости приложений, позволяющий прямо задать программе ее поведение — запрашивать права или нет.

Простейшим вариантом работы с этим механизмом будет использование переменных среды.

Рассмотрим пример с редактором реестра. Действительно, запуская regedit.exe под администратором, мы получаем запрос на повышение прав:

как установить драйвера без прав администратора windows 10

Запрос повышение прав.

Если же мы запустим редактор реестра из консоли, предварительно поменяв значение переменной среды __COMPAT_LAYER на:

То запроса UAC не будет, как и административных прав у приложения:

как установить драйвера без прав администратора windows 10

Бесправный редактор реестра.

Этим можно пользоваться, запуская программы батниками или добавляя контекстное меню через реестр. Подробнее читайте в материале How to Run Program without Admin Privileges and to Bypass UAC Prompt?

С конкретным примером такой неприятной программы можно столкнуться при загрузке классификаторов банков из 1С с сайта РБК по ссылке http://cbrates.rbc.ru/bnk/bnk.exe. Если обновление классификаторов отдается на откуп самим пользователям и нет возможности поменять загрузку на bnk.zip (а современные 1С это поддерживают), то приходится придумывать костыли. Ведь bnk.exe — самораспаковывающийся архив, в котором зачем-то прописано «Требовать права администратора».

Поскольку ярлычками тут обойтись не выйдет, ведь 1С сама скачивает файл и запускает его, то придется применять тяжелую артиллерию — Microsoft Application Compatibility Toolkit.

Документация к ПО, как обычно, доступна на официальном сайте, загрузить можно как часть Windows Assessment and Deployment Kit. Сам процесс решения проблемы несложен.

Необходимо поставить утилиту, запустить Compatibility Administrator и создать Application Fix в новой или имеющейся базе данных:

как установить драйвера без прав администратора windows 10

Создаем исправление приложения.

Имя и издатель значения не имеют. Имеет значение только расположение файла — тут нужно указать реальный проблемный bnk.exe (где он будет лежать на самом деле — не важно).

Далее необходимо в списке исправлений выбрать RunAsInvoker.

как установить драйвера без прав администратора windows 10

Выбираем нужный фикс.

Все остальное оставляем по умолчанию, сохраняем базу данных. Должно получиться примерно так:

как установить драйвера без прав администратора windows 10

Созданный фикс для bnk.exe.

После этого достаточно будет установить базу данных, щелкнув по ней правой кнопкой и выбрав Install. Теперь пользователи смогут сами грузить классификаторы банков.

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

Ну ладно, держи права

Казалось бы, самым очевидным решением для запуска нашего странного ПО выглядит использование встроенной утилиты Runas. Документация доступна на сайте Microsoft.

Ну, посмотрим, что из этого выйдет.

Действительно, RunAs запустит 7zip с правами учетной записи «Администратор», спросит пароль и запомнит его. Потом ярлык с такой строкой запуска будет запускать 7zip под Администратором без вопросов.

как установить драйвера без прав администратора windows 10)

Есть один существенный недостаток: пароль запоминается на уровне системы, и теперь, используя команду Runas, можно будет запускать абсолютно любую программу. Это мало чем отличается от прямого предоставления админских прав сотрудникам, так что использовать это решение не стоит.

Зато runas может быть полезен, когда сотрудник знает пароль администратора, но работает под ограниченной учетной записью (по идее так должен делать каждый системный администратор).

Если мы начали с консольных команд, то перейдем к более высокоуровневым скриптам. Интересное решение было предложено в статье «Планктонная Windows», где упомянутый выше Runas обвязывался js-скриптом и пропускался через обфускатор. У решения есть и очевидный минус — скрипт можно раскодировать.

Чуть более интересным методом в 2к20 являются возможности PowerShell и его работа с паролями. Подробнее можно почитать в материале «Защита и шифрование паролей в скриптах PowerShell».

Если вкратце: в PS работа с паролями производится через специальный тип данных SecureString и объект PSCredential. Например, можно ввести пароль интерактивно:

Затем сохранить пароль в зашифрованном виде в файл:

И теперь использовать этот файл для неинтерактивной работы:

К сожалению, файл этот можно использовать только на том ПК, на котором его создали. Чтобы этого избежать, можно сделать отдельный ключ шифрования. Например так:

Теперь при помощи этого ключа пароль можно зашифровать:

В свое время я использовал для решения подобных задач свой любимый AutoIt, где компилировал скрипт с командой RunAs и радовался… До тех пор, пока не узнал, что AutoIt (особенно старых версий) декомпилируется на раз-два.

Другим интересным вариантом может быть применение назначенных заданий — если создать назначенное задание от админского аккаунта, пользователю для работы будет достаточно его запуска. К сожалению, для интерактивной работы с приложением это решение не подходит.

На свете существует несколько сторонних решений, призванных решить задачу. Остановлюсь на парочке из них.

Пожалуй, одна из самых известных утилит — это AdmiLink, разработанная Алексеем Курякиным для нужд ядерной физики. Программа и принципы ее работы описаны на официальном сайте. Я, как обычно, позволю себе более краткое описание.

Программа состоит из трех модулей. AdmiLink — это графическое окно, где можно создать ярлык на нужное приложение (в принципе, в ряде случаев достаточно только его).

как установить драйвера без прав администратора windows 10

Основное окно программы.

Помимо непосредственно создания ярлыка (и да, запрос UAC тоже можно подавлять), есть и дополнительные функции вроде калькулятора, терминала и удобных настроек политик безопасности. Со всеми возможностями программы читателю предлагается разобраться самостоятельно.

Второй модуль называется AdmiRun и представляет из себя консольную утилиту. Она умеет запускать приложения от имени администратора, получив в качестве одного из параметров строку, созданную через AdmiLink. В строке шифруется имя пользователя и пароль, при этом участвует и путь к программе.

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

Третий модуль — AdmiLaunch — отвечает за запуск окон в разных режимах, и он используется для запуска AdmiRun, если создавать ярлык через AdmiLink.

В целом, решение проверено годами и поколениями отечественных системных администраторов. Но добавлю и альтернативу из-за рубежа.

RunAsRob — довольно интересное ПО за авторством немецкого разработчика Оливера Хессинга (Oliver Hessing). В отличие от AdmiLink, ПО устанавливается как служба, запускаемая под привилегированной учетной записью (администратора или системы). Как следствие, подготовленный ярлык обращается к службе, которая уже в свою очередь запускает заданное ПО.

Особенность программы в том, что есть возможность авторизовать не только программы, но и папки (включая сетевые). А хранение настроек в реестре позволило добавить шаблоны групповых политик, примерно как мы писали в статье «Погружение в шаблоны и приручение GPO Windows». Благодаря этому при необходимости настройки можно применять прямо из Active Directory.

как установить драйвера без прав администратора windows 10

Основное окно программы.

Программа богато документирована на официальном сайте.

У этого автора есть еще и программа RunAsSpc, позволяющая запускать исполняемые файлы под правами другого пользователя, передавая учетные данные через зашифрованный файл.

Мне остается только добавить, что это ПО бесплатно только для личного использования.

Но учтите, что из программы, запущенной под административными правами, можно натворить бед. Например, запустить привилегированную командную консоль через диалог Файл — Открыть.

как установить драйвера без прав администратора windows 10

Запускаем cmd.exe прямо из редактора реестра.

Немного защититься помогут политики запрета контекстного меню и прочих диспетчеров задач, часть из которых может настроить AdmiLink. Но в любом случае следует быть осторожным.

А вам приходилось городить странные костыли? Предлагаю делиться историями в комментариях.

Источник

KB5005652 — управление новыми точками и печатью при установке драйвера по умолчанию (CVE-2021-34481)

Сводка

Windows обновлений, выпущенных 10 августа 2021 г. и более поздних версий, для установки драйверов по умолчанию потребуются права администратора. Мы внося это изменение в поведение по умолчанию для устранения рисков на всех Windows, включая устройства, которые не используют функции Point и Print или Print. Дополнительные сведения см. в пунктах Изменение поведения по умолчанию и CVE-2021–34481.

По умолчанию пользователи без прав администратора больше не могут делать следующее с помощью точки и печати:

Установка новых принтеров с помощью драйверов на удаленном компьютере или сервере

Обновление существующих драйверов принтера с помощью драйверов с удаленного компьютера или сервера

Примечание Если вы не используете Point и Print, это изменение не защитит вас от изменений и будет по умолчанию защищено после установки обновлений, выпущенных 10 августа 2021 г. или более поздней версии.

Важно Перед установкой обновлений, выпущенных 14 сентября 2021 г., клиентам печати в вашей среде необходимо установить обновление от 12 января 2021 г. или более поздней версии. Дополнительные сведения см. в вопросе «Вопросы и ответы» кв. 2 ниже.

Изменение поведения при установке драйвера по умолчанию с помощью ключа реестра

Это поведение по умолчанию можно изменить с помощью параметра реестра, приведенного в таблице ниже. Однако будьте осторожны при использовании нуля (0), так как это делает устройства уязвимыми. Если в вашей среде необходимо использовать значение реестра 0, мы рекомендуем использовать его временно во время настройки среды, чтобы позволить устройствам Windows использовать значение 1 (1).

Данные о значениях

Установка значения 0 позволяет не администраторам устанавливать подписанные и неподписаные драйверы на сервер печати, но не переопределять параметры групповой политики Point и Print. Следовательно, параметры групповой политики Point и Print Restrictions могут переопределять этот параметр реестра, чтобы запретить администраторам устанавливать с печатного сервера подписанные и неподписаные драйверы печати. Некоторые администраторы могут установить значение 0, чтобы разрешить не администраторам устанавливать и обновлять драйверы после добавления дополнительных ограничений, включая добавление параметра политики, ограничивающего возможность установки драйверов.

Важно Сочетания последствий, эквивалентных установке ограниченияDriverInstallationToAdministrators равным 1, не существует.

Примечание Для обновлений, выпущенных 6 июля 2021 г. и более поздних версий, по умолчанию задано значение 0 (отключено) до установки обновлений, выпущенных 10 августа 2021 г. или более поздней версии. Обновления, выпущенные 10 августа 2021 г. или более поздние версии, по умолчанию имеют значение 1 (включено).

Требования к перезапуску

При создании или изменении этого значения реестра перезапуск не требуется.

Примечание Windows обновления не будут устанавливать или изменять реестр. Вы можете настроить реестр до или после установки обновлений, выпущенных 10 августа 2021 г. или более поздней версии.

Автоматизация добавления значения реестра RestrictDriverInstallationToAdministrators

Чтобы автоматизировать добавление значения реестра RestrictDriverInstallationToAdministrators, выполните следующие действия:

Открытие окна команднойcmd.exe с повышенными разрешениями.

Введите следующую команду и нажмите ввод:

reg add «HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint» /v RestrictDriverInstallationToAdministrators /t REG_DWORD /d 1 /f

Set RestrictDriverInstallationToAdministrators using Group Policy

После установки обновлений, выпущенных 12 октября 2021 г. или более поздней версии, вы также можете настроить ограничителиDriverInstallationToAdministrators с помощью групповой политики, выполнив следующие инструкции:

Откройте редактор групповой политики и перейдите в меню Конфигурация компьютера> административных шаблонов> Принтеры.

Установите для параметра Ограничения при установке драйвера печати параметр Администраторы на «Включено». При этом для реестра RestrictDriverInstallationToAdministrators будет установлено значение 1.

Установка драйверов печати при вмении нового параметра по умолчанию

Если для ограниченияDriverInstallationToAdministrators задавается неопределенный или 1 (в зависимости от среды), для установки принтеров необходимо использовать один из следующих способов:

При запросе учетных данных при попытке установки драйвера принтера вводить имя пользователя и пароль администратора.

Включив необходимые драйверы принтера в изображение ОС.

Используйте Microsoft System Center, Microsoft Endpoint Configuration Manager или эквивалентное средство для удаленной установки драйверов принтера.

Чтобы установить драйверы принтера, временно задайте для ограниченияDriverInstallationToAdministrators 0.

Примечание Если вам не удается установить драйверы принтера даже с учетом прав администратора, необходимо отключить групповую политику «Использовать только точку упаковки» и «Печать».

Рекомендуемые параметры и частичные снижения последствий для среды, в которой нельзя использовать поведение по умолчанию

Следующие ограничения помогают защитить все среды, но особенно если необходимо установить для ограниченияDriverInstallationToAdministrators 0. Эти меры не полностью уявляют уязвимости в CVE-2021–34481.

Важно Сочетания последствий, эквивалентных установке ограниченияDriverInstallationToAdministrators равным 1, не существует.

Убедитесь, что для RpcAuthnLevelPrivacyEnabled установлено 1 или не определено

Убедитесь, что для RpcAuthnLevelPrivacyEnabled установлено 1 или не определено, как описано в описании изменения привязки принтера RPC для CVE-2021–1678 (KB4599464).

Проверка включения подсказок безопасности для point и print

Убедитесь, что для point и Print включены запросы безопасности, как описано в KB5005010:ограничение установки новых драйверов принтера после применения обновлений от 6 июля 2021 г.

Разрешить пользователям подключаться только к определенным серверам печати, которые вы доверяете

Эта политика «Ограниченияна печать» применяется к принтерам Point и Print с использованием непакетного драйвера на сервере.

С помощью следующих действий:

Откройте консоль управления групповыми политиками (GPMC).

В дереве консоли GPMC перейдите к домену или подразделению, в котором хранится учетная запись пользователя, для которой вы хотите изменить параметры безопасности драйвера принтера.

Щелкните созданную GPO правой кнопкой мыши и выберите изменить.

В диалоговом оке Ограничения на печать и точках нажмите кнопку Включено.

Если этот пункт еще не выбран, выберите пункт Пользователи могут напечатать данные на этих серверах.

Введите полное имя сервера. Имена разделяют их с помощью 10-;).

Примечание После установки обновлений, выпущенных 21 сентября 2021 г. или более поздней версии, вы можете настроить групповую политику точкой или точкой (.) IP-адреса с делегами взаимозаменяемы с полноценными именами хостов.

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

В окне При обновлении драйверов для существующего подключения выберите Показывать предупреждение и запрос с повышенными уровнями.

Разрешить пользователям подключаться только к определенным точкам пакета и серверам печати, которые вы доверяете

Эта политика «Точкапакета» и «Печать — утвержденные серверы» ограничивают поведение клиента только разрешением подключений Point и Print только для определенных серверов, которые используют драйверы с пакетом.

С помощью следующих действий:

На контроллере домена выберите Начните, выберите Администрирование Средства, а затем выберите Управление групповой политикой. Кроме того, можно нажать кнопку Начните, выбрать выполнить, ввести GPMC.MSCи нажать ввод.

Раз развернуть лес, а затем — домены.

Под своим доменом выберите ОО, в котором вы хотите создать эту политику.

Щелкните его правой кнопкой мыши, выберите создать GPO в этом домене и привяжете его сюда.

Придай имя GPO, а затем выберите ОК.

Щелкните правой кнопкой мыши созданный объект групповой политики и выберите Изменить, чтобы открыть редактор управления групповыми политиками.

В редакторе управления групповыми политиками разложите следующие папки:

Локальные компьютерные системы

В включить точку упаковки и печать — утвержденные серверы и выберите кнопку Показать.

Введите полное имя сервера. Имена разделяют их с помощью 10-;).

Примечание После установки обновлений, выпущенных 21 сентября 2021 г. или более поздней версии, вы можете настроить групповую политику точкой или точкой (.) IP-адреса с делегами взаимозаменяемы с полноценными именами хостов.

Вопросы и ответы

Вопрос1. При каждой попытке печати я получаю запрос «Доверяете ли вы этому принтеру», и для продолжения работы с этим принтером требуются учетные данные администратора. Это ожидаемое?

A1. Запрос на каждое задание печати не ожидается. Большинство сред или устройств, в которых эта проблема устранена, будут устранены с помощью обновлений, выпущенных 12 октября 2021 г. или более поздней версии. В этих обновлениях решается проблема, связанная с печатью серверов и клиентов печати, которые не находится в одном часовом поясе.

Если после установки обновлений, выпущенных 12 октября 2021 г. или более поздней версии, эта проблема по-прежнему не у вас, обратитесь к производителю принтера за обновленными драйверами. Эта проблема также может возникать, если драйвер печати в клиенте печати и на сервере печати используют то же имя файла, но на сервере есть более новая версия файла драйвера. Когда клиент печати подключается к серверу печати, он находит более новый файл драйвера и получает запрос на обновление драйверов в клиенте печати. Однако файл в пакете, который предлагается для установки, не включает более новую версию файла драйвера.

Сравниваемые файлы — это драйверы в папке «Spool», обычно в папке C:\Windows\System32\spool\drivers\x64\3 в клиенте печати и на печатном сервере. Пакет драйвера, предлагаемый для установки, обычно находится в C:\Windows\System32\spool\drivers\x64\ PCC на сервере печати. После того как файлы в папке \3 сравниваются между устройствами, если они не совпадают, пакет в PCC устанавливается. Если файлы в папке \3 на сервере печати не имеют того же драйвера принтера, что и PCC, клиент печати сравнивает файлы и находит несоответствия при каждой печати.

Чтобы устранить эту проблему, убедитесь, что используете последние драйверы для всех ваших устройств печати. По возможности используйте ту же версию драйвера печати в клиенте печати и на сервере печати. Если обновление драйверов в вашей среде не решает проблему, обратитесь в службу поддержки изготовителя принтера (OEM).

Вопрос 2. Установлены обновления, выпущенные 14 сентября 2021 г., и некоторые Windows не могут печатать на сетевых принтерах. Требуется ли заказ на установку обновлений на почтовых клиентах и почтовых серверах?

A2. Перед установкой обновлений, выпущенных 14 сентября 2021 г. или более поздней версии, на почтовых серверах должны быть установлены обновления, выпущенные 12 января 2021 г. или более поздней версии. Windows устройства не будут печататься, если на них не установлено обновление, выпущенное 12 января 2021 г. или более поздней версии.

Примечание Вам не нужно устанавливать более ранние обновления и вы можете установить любое обновление после 12 января 2021 г. на клиентах печати. Мы рекомендуем установить последнее накопительное обновление как на клиентах, так и на серверах.

Источник

Методы установки драйверов пользователями без административных полномочий

как установить драйвера без прав администратора windows 10

Установка драйверов обычными пользователями

Давайте узнаем, как обычному пользователю установить драйвера, если у него нет административных прав. Мы не будем рассматривать варианты взлома админской учетки. А пройдемся по более культурным методам.

Что такое драйвера?

Драйвера — это программы, работающие на уровне ядра системы. То есть, они имеют полный доступ к компьютеру, а точнее к какому-либо устройству. Естественно, права на установку таких программ нельзя доверять первому встречному. Именно поэтому, установить драйвера могут только администраторы компьютера. Но бегать каждый раз устанавливать соединение для web-камеры или телефона, тоже не дело — у администратора и своих забот хватает. Попробуем решить эту дилемму.

Методы установки драйверов пользователями без административных прав

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

Добавление драйвера в хранилище драйверов

Давайте вспомним, то что PnP-устройства устанавливаются автоматически! Это объясняется тем, что драйвера для таких устройств уже хранятся в хранилище драйверов. А это означает, что данные драйвера уже проверены и что их установка не повлечет за собой нежелательных последствий. Поэтому, при установке PnP-устройства происходит копирование файлов драйвера из хранилища в системное расположение. А на деле мы видим то, что мы подцепили нужный драйвер автоматически и устройство готово к работе. На это прав хватит у всех. То есть пользователь может установить принтер, если в хранилище драйверов будет нужный драйвер.

Данной теории должно быть достаточно, чтобы предложить вариант установки драйвера устройства обычным пользователем. Нужно добавить нужные драйвера в хранилище драйверов на компьютере! Для того чтобы разместить нужный драйвер в хранилище драйверов, необходимо в командной строке выполнить следующее:

Естественно, путь и название inf-файла будет таким, каким нужно для Вас.

Но устройство установиться от учетки простого пользователя только в случае наличия подписи у драйвера. Даже если Вы добавили не подписанный драйвер в хранилище, для его инициализации нужны будут административные права. Для решения таких проблем, можно создать сертификаты для данных драйверов. Но они будут действовать только внутри организации. Создание сертификатов — дело серверных машин, поэтому рассматривать это пока что мы не будем.

Указываем папки с дозволенными драйверами

Если открыть Редактор реестра(Выполнить и ввести regedit) и прошествовать по пути hkey_local_machine\software\microsoft\windows\current version, Вы найдете там параметр Device Path, в котором по умолчанию стоит значение %SystemRoot%\inf. Данный параметр указывает место, где происходит поиск драйвера для только что присоединенного устройства. Через точку запятую Вы можете добавить еще какие-либо пути для поиска драйвера. Ну если конечно у Вас лежат где-нибудь на компьютере драйвера, хотя более серьезным шагом было бы указание сетевой папки с драйверами. Используя данный способ Вы добавите еще несколько мест, откуда технология PnP сможет вытащить драйвера, а это значит, что обычные пользователи смогут установить драйвера для устройства.

Дать доступ для установки некоторых драйверов

И последний вариант — разрешить пользователям устанавливать драйвера для заданных классов устройств. Суть в том, чтобы разрешить пользователям устанавливать драйвера для своих телефонов, фотокамер, web-камер и для другой разной мелочной периферии. Но при этом не открывать им доступ для работы с драйверами ядра либо видеокарты, ведь неумелые действия с драйверами, например, видеокарты, могут привести к довольно неприятным ошибкам. Что же нужно для этого сделать?

Последний, третий вариант установки самый эффективный. Обычно, такие разрешения будут выдаваться для настройки телефонов, фотоаппаратов и прочей мелкой ерунды, которые в основном автоматически схватывают нужные драйвера. И тут главное не мешать этому. И при этом закрыть доступ к установке более важных драйверов.

Вот таким вот образом можно наделить юзеров правами, а с себя скинуть лишнюю работу.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *