За замовчуванням рядові користувачі системи / домену не мають прав для установки драйверів пристроїв на своїх комп'ютерах. Це підхід раціональний з точки зору забезпечення безпеки і стабільності роботи ПК, але незручний з точки зору адміністрування, адже для установки будь-якого нового драйвера в системі користувачеві необхідно вдаватися до допомоги адміністратора або служби технічної підтримки, які володіють правами адміністратора на ПК користувача.
У цій статті ми покажемо, як дозволити звичайним користувачам домену встановлювати драйвера в системі без прав адміністратора. Основна перевага пропонованого підходу - адміністратор домену сам формує список довірених драйверів, які користувачі можуть встановлювати в системі, тим самим ризик установки "шкідливого" драйвера мінімізований.
Щоб дозволити пересічним користувачам домену самим встановлювати драйвера пристроїв (без появи вікна підвищення привілеїв UAC), потрібно щоб робоче середовище користувачів відповідала таким умовам:
- Встановлюваний драйвер повинен знаходитися в сховище драйверів (Driver Store)
- Встановлюваний клас драйвера повинен бути дозволений для установки звичайними користувачами
- Драйвер повинен бути підписаний валидной цифровим підписом довіреної видавця
А тепер по порядку:
зміст:
- Отримання каталогу з драйвером пристрою
- Централізоване сховище драйверів
- Список класів драйверів, дозволених для установки
- Цифровий підпис драйвера
Отримання каталогу з драйвером пристрою
Щоб отримати актуальну версію драйвера для конкретного пристрою - найкраще знайти і завантажити останню версію драйвера на сайті виробника. Скачаний архів з драйвером потрібно розпакувати в окремий каталог.
АЛЕ! Не всі драйвера надаються в форматі, зручному для розповсюдження. Припустимо, якийсь драйвер встановлюється пропрієтарним інсталяційних пакетом. Яким же чином витягти з системи каталог з файлами встановленого драйвера?
Після установки всі файли драйвера зберігаються централізовано, в каталозі C: \ Windows \ System32 \ DriverStore \ FileRepository \. Щоб знайти каталог з недавно встановленим драйвером, просто відсортуйте вміст цього каталогу за датою створення / модифікації. Вуаля! Залишилося скопіювати каталог з драйвером в мережевий каталог, який буде вказано на клієнтах в якості мережного Driver Store (про це трохи нижче).
Централізоване сховище драйверів
Поняття Driver Store або сховища драйверів (докладніше про нього ми говорили в цій статті) вперше з'явилося в Windows Vista і являє собою довірену захищену область комп'ютера, що містить набір драйверів, які дозволені для установки. Таким чином, користувач може встановити в системі тільки драйвер, який вже є в сховищі драйверів. Так при установці нового драйвера адміністратором, спочатку він копіюється і реєструється в сховище драйверів і тільки потім встановлюється в системі (файли драйвера копіюються з сховища в системне розташування).
Шлях до сховища драйверів Windows задається в реєстрі параметром DevicePath (HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion). За замовчуванням сховище драйверів знаходиться в каталозі C: \ Windows \ inf (% SystemRoot% \ Inf)
Можна розширити область сховища драйверів, за яким здійснюється пошук при установці нового драйвера в системі, вказавши в цьому реєстру додатковий каталог. У доменній середовищі найпростіше це зробити за допомогою розширення групових політик - Group Policy Preferences. Для цього в розділі політики Computer Configuration -> Preferences -> Registry додати новий елемент Registry Item з параметрами:
- Action: Update
- Hive: HKEY_LOCAL_MACHINE
- Key Path: Software \ Microsoft \ Windows \ CurrentVersion
- Value Name: DevicePath
- Value Type: REG_SZ
- Value Data:% SystemRoot% \ inf; \\ fs1 \ share \ inf
В якості додаткового довіреної каталогу сховища драйверів ми вказали мережеву папку \\ fs1 \ share \ inf (не забудьте, що обліковий запис комп'ютера повинна мати права на читання з цієї папки). Як джерело драйвером можна вказати відразу кілька мережевих каталогів, наприклад вказавши в якості значення змінної:% SystemRoot% \ inf; \\ fs1 \ share \ Printers; \\ fs2 \ Drivers \ USB; \\ fs3 \ Drivers \ VGA
Список класів драйверів, дозволених для установки
Щоб визначити код класу пристрою, відкрийте каталог з файлами драйвером пристрою. Відкрийте його inf файл і знайдіть рядок з параметром ClassGUID. Код класу пристрою в нашому прикладі виглядає так: 4D36E97D-E325-11CE-BFC1-08002BE10318.
Щоб вирішити це клас пристроїв для самостійної установки користувачами, відкрийте діючу (або створіть нову) групових політику і в гілці Computer Configuration -> Administrative Templates -> System -> Driver Installation знайдіть політику Allow installation of devices using drivers that match these device setup classes. Увімкніть її і в якості значення вкажіть скопійований раніше код класу пристрою.
Цифровий підпис драйвера
Щоб користувач міг самостійно встановити драйвер, він в обов'язковому порядку повинні бути підписаний, а сертифікат видавця цифрового підпису повинен знаходиться в списку довірених. Більшість драйверів великих вендорів підписані цифровими підписами Microsoft і є довіреними.
Але в цьому правилі є винятки. Щоб отримати сертифікат видавця такого драйвера, встановіть його в системі з правами адміністратора. Під час установки драйвера з'явиться попередження. Встановіть прапорець "Always trust software from ... " та натисніть Install. Після установки драйвера відкрийте оснащення управління сертифікатами (certmgr.msc), Знайдіть сертифікат видавця в розділі Trusted Published-> Certificates. Клацніть ПКМ по сертифікату потрібного видавця та експорту його в файл.
Далі цей сертифікат за допомогою групової політики потрібно поширити на всіх комп'ютерах, на яких потрібно дозволити встановлення цього драйвера користувачами. Для цього просто імпортуйте збережений сертифікат в розділ GPO Computer Configuration -> Windows Settings -> Security Settings -> Public Key Polices -> Trusted Publishers.
Порада. У тому випадку, якщо потрібно встановити драйвер, цифровий підпис якого відсутній, можна спробувати самостійно підписати його самоподпісанного сертифікатом. Детально процес описаний в цієї статті.Отже, якщо ви все зробили правильно, користувачі вашого домену можуть самостійно (без прав адміністратора) встановлювати драйвера зумовлених пристроїв.