
pnputil. После этого обычный пользователь подключает устройство, и драйвер запускается без его участия.C:\Windows\System32\DriverStore каждый драйвер хранится в отдельной папке с INF-файлом и SYS-файлом. SYS содержит сам код, INF описывает драйвер.pnputil /d с ключом /force удаляет драйвер из хранилища, даже если он загружен в память.Полный текст первых минут лекции «Центральной хранилище драйвером - Driver Store» из видеокурса PracticU – субтитры с временной меткой для каждого абзаца. Так можно прочитать и найти нужные темы ещё до начала обучения.
Добро пожаловать на лекцию про Driver Store. Driver Store это Trusted Collection, это доверенная коллекция драйверов, которые не Microsoft, которые не встроены в Windows.
И эти доверенные, проверенные нами, системными администраторами драйвера, позволят пользователю простому их использовать и их запускать без нашего ведома.
Из-за того, что у драйвера могут быть очень широкие права доступа внутри операционки, потому что он работает на уровне кернала, на уровне самого ядра, то у драйвера могут быть очень большие права доступа внутри системы.
И чтобы этим не злоупотребил простой пользователь и под видом принтера не установил какой-то драйвер, который дает ему больше прав, чем ему полагается, это называется Escalation Privilege.
То есть получить больше прав доступа, чем тебе полагается. Есть такая атака в мире хакеров. И чтобы это не произошло, но с другой стороны дать пользователям возможность запускать драйвера, которые не встроены в Windows.
Microsoft, начиная с Windows Vista, придумали промежуточный этап между ничем и запуском драйвера. И этот промежуточный этап называется доверенная коллекция, драйвер-стор, магазин или хранилище драйверов.
И вот это вот хранилище драйверов, доверенное, из него можно запускать драйвера даже простому пользователю, но добавлять в него драйвера имеет право только системный администратор.
То есть системный администратор или администратор компьютера добавляет в это центральное хранилище драйверов моего компьютера конкретные драйвера, которые он проверил, и тогда пользователь сможет их запускать.
И все это началось с Windows Vista. Кстати, во времена Windows XP все пользователи были администраторами. Почему? Потому что без прав администратора они даже не могли принтер подключить.
И именно поэтому придумали Trusted Collection, чтобы решить эту проблему. Потому что во времена XP все-все-все пользователи были с правами администратора.
Если ты был во времена XP без прав администратора, ты ничего не мог сделать. Даже там USB-шку подключить ты не мог. Вот.
И драйвера, которые не Microsoft, драйвера, которые не встроены в Windows, называются third party, третьих сторон. Третьи стороны это типа не Microsoft.
И вот мы хотим позволить простому пользователю запускать эти драйвера не Microsoft'а с доверенного хранилища, доверенной коллекции.
А что такое доверенная коллекция, это администратор решает. Итак, мы решили проблему, что пользователь может запускать драйвера, но не быть администратором.
Конечно, заранее администратор должен ему добавить его драйвер в эту коллекцию. Мы сейчас это все увидим, как это происходит на самом деле. И последнее, что я вам хочу сказать, что этот процесс добавки драйвера внутрь коллекции называется staging.
Мы сейчас зайдем в Windows и начнем все это делать сами. Мы создадим пользователя без прав и посмотрим, что происходит и как он может запустить новое USB устройство.
Первое, что я вам хочу показать, где находится это хранилище, это Driver Store. Он находится в C-Windows System 32, Driver Store. И здесь есть папочка для каждого драйвера и в каждой папочке есть файл INF и файл SIS.
SIS это код, INF это декларационный файл. Я выбрал первый попавшийся и зашел и увидел, что там действительно файл INF и SIS. SIS это сам код, сама программа и в принципе эти драйвера очень похожи на сервисы.
Программы, которые запускаются автоматом за кулисами во время стартапа компьютера или во время включения какого-то устройства. Они всегда работают за кулисами, у них никогда нет графического интерфейса, они все хранятся вот в этом центральном хранилище.
И когда система запускает драйвер, она его берет только с этого хранилища. То есть всегда установка драйвера копирует его в driver.store, а потом с driver.store он уже копируется в другую папку cwindows.drivers и оттуда запускается.
Понятно, да? И каждый драйвер должен присутствовать здесь. А когда он добавляется в driver store, он еще проходит серию проверок, что он там дигитально подписан, что он валидный. То есть в этот driver store можно добавлять вещи только с помощью команды pnp-util, то есть с помощью специальных команд, а не просто
так скопировать сюда файлы. И во время запуска этих команд, как pnp-util, проходит серия добавочных проверок, то есть Windows проверяет, что то, что вы добавляете, валидное. Поэтому эти файлы вот здесь мы не трогаем. Это для общих знаний. Я вам просто объясняю, как работает система. Мы никогда не
будем ничего менять в этих файлах сами. Это запрещено. Надо все делать через API, через интерфейс Microsoft. И программы, и PowerShell умеют с этим интерфейсом работать.
Давайте сейчас создадим пользователя без прав администратора. Я захожу в Users. Видите, у меня вкладка Accounts.
Вот то, что написано этим жирненьким текстом, это главная вкладка. Если я пойду на домашнюю страницу, новый контроль панель, в нем есть главная категория «Accounts».
Этот контроль панель новый появился в Windows 8, чтобы поддерживать экран и тачскрин. И я в нем захожу в «Add someone else for this PC», в эту кнопочку, нажимаю на нее, и он мне предлагает зарегистрироваться с именем и паролем в сайте Microsoft в Hotmail.
Я говорю, у меня нету имя и пароля того человека на его Hotmail. Поэтому нажимаю на кнопку, что у меня нет, и он мне предлагает создать для него аккаунт у Microsoft.
На сайте Microsoft, я говорю, не надо мне создавать на сайте Microsoft, ему не нужен Hotmail. И мы заходим с локальным пользователем. Даем ему имя, пароль, я не хочу давать.
И вот мы создали простого пользователя в Windows. Мы можем сделать Change Account Type и дать ему права администратора, но я не хочу, я специально хочу вам показать, что происходит с драйверами, когда я делаю простого пользователя, создаю. Это новый способ с помощью нового контроль панель создать пользователя, а
есть старый способ, который намного быстрее и удобней. Правая кнопка на старт, выбрать компьютер Management, нам откроется старый MMC, и в нем есть Users, и видите, есть David, David, и он член группы Users, а Admin, он член группы Administrators. И вся сила пользователя, все права пользователя,
это от его членства в группе. Я создаю нового пользователя под именем John, и все. Моментально это делается с помощью старого интерфейса, все очень удобно. И мы видим, что я поставил здесь галочку, что он не может поменять пароль, и пароль никогда не будет просрочен. И этот Джон, он тоже член в группе
простых пользователей. Давайте на это посмотрим. Видите, в группе users. Это дает ему право сделать логин в компьютер, но не более того, он не имеет права там менять IP-адрес, устанавливать приложение или драйвера.
Все, теперь мы можем спокойно зайти под тем пользователем и посмотреть, что ему можно. Я только сейчас скопирую внутрь нашего Windows драйвер, который я хочу установить, драйвер аудио саунд драйвера звуковой карты. И я делаю сайнаут, выхожу с
моего пользователя админа и захожу под именем Джон или Дэвид, это не важно, у них у обоих есть права только обычного пользователя. Во время входа я вижу, что происходит процесс копирования и создания профиля по умолчанию для нового пользователя. Он копирует папки, создает registry для нашего нового
пользователя. Это папки на жестком диске. И в это время он мне показывал вот эти вот все сообщения. Из-за того, что это первый вход, то это взяло время создать пользователя по умолчанию. Так, давайте сейчас посмотрим, что у нас происходит с девайс-менеджером.
Если я зайду в PowerShell, он в обычный PowerShell заходит нормально, а в PowerShell с админом он требует пароль другого пользователя с правами администратора. И я закрываю, потому что у меня нет этих прав. То есть обычный пользователь не может включить право Shell с админом.
И в Device Manager, когда он входит, здесь написано явным текстом, что ты залогинился стандартным пользователем. И ты можешь только view Device Settings, ты можешь только смотреть на настройки устройств в Device Manager. Ты должен сделать логин как администратор с правами администратора,
чтобы ты мог что-то изменить в Device Manager. То есть он меня здесь преднапреждает, что стандартный пользователь может только читать и смотреть и ничего не может менять.
Поэтому мы нажмем ОК и посмотрим, что происходит. Я вам напоминаю нашу цель. Нашу цель - это дать возможность пользователю подключить устройство и использовать драйвер, который не встроен Windows, драйвер производителя.
Если я нажму правую кнопку на любой драйвер, я увижу, что у меня все кнопки, которые что-то меняют, задисейблены, они все серенькие.
У меня есть внизу кнопка Change Settings и перейти на администратора, но я это не хочу делать, у меня нет прав администратора, поэтому у меня все задисейблено, у меня все запрещено.
Давайте заметим, что у нас происходит с