Автоматическая установка драйверов::Журнал СА 1.2009
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Книжная полка  

Защиты много не бывает

Среди книжных новинок издательства «БХВ» есть несколько изданий, посвященных методам социальной инженерии

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

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

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

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

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6445
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 7140
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4421
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3095
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3892
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3909
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6396
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3242
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3539
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7378
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10734
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12454
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14121
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9204
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7150
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5456
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4689
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3504
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3218
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3457
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3100
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Автоматическая установка драйверов

Архив номеров / 2009 / Выпуск №1 (74) / Автоматическая установка драйверов

Рубрика: Администрирование /  Продукты и решения

Иван Коробко ИВАН КОРОБКО

Автоматическая установка драйверов

Решить задачу пакетной установки драйверов можно разными способами. Среди них наиболее распространенный – интеграция в дистрибутив операционной системы, однако он не единственный. Поговорим о малоизвестных способах пакетной установки драйверов.

В крупных организациях парк компьютеров, как правило, унифицирован. Однако он постоянно обновляется. Самый распространенный из них – интеграция пакета драйверов в дистрибутив операционной системы. Существует еще несколько альтернативных способов, которым стоит уделить внимание: установка пакета драйверов с помощью командного файла и с помощью Driver Package Installer.

Довольно часто возникает ситуация, когда необходимо предустановить пакет драйверов. В целях безопасности большинство сотрудников в сети не обладают административными правами и не могут устанавливать устройства. По этой причине они не могут подключить без помощи администратора различные внешние устройства с интерфейсом USB, Fire Ware и т. д.

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

Для обеспечения автоматической пакетной установки драйверов можно использовать либо командный файл, либо Driver Package Installer (DPInst). Рассмотрим подробнее два способа.

Командный файл

Алгоритм установки драйверов устройств описан в INF-файле. В нем находится информация о том, какие библиотеки и куда необходимо скопировать, какие изменения сделать в реестре и т. д.

В Windows используется два интерпретатора INF-файлов: SETUPAPI и ADVANCEDINF, которые представляют собой два DLL-файла, располагающихся в каталоге %SystemRoot%/System32.

Интерпретатор SETUPAPI находится в библиотечном файле setupapi.dll, интерпретатор ADVANCEDINF – в библиотечном файле advpack.dll. Основным интерпретатором является SETUPAPI. Для получения доступа к интерпретаторам используется запускаемый файл RUNDLL32.EXE. Формат запуска любой библиотеки следующий:

rundll32.exe DLL,Function Рarameters

где:

  • DLL – имя файла библиотеки. В данном случае setupapi.dll или advpack.dll.
  • Function – функция, вызываемая из библиотеки, или, как ее еще называют, точка входа. Обратите внимание: название файла и вызываемой функции разделены запятой без пробелов.
  • Parameters – параметры, передаваемые функции.

Интерпретатор SETUPAPI

Интерпретатор SETUPAPI позволяет:

  • управлять реестром: создание и удаление ключей, параметров и их значений;
  • распаковывать CAB-файлы;
  • управлять файлами и папками, их атрибутами;
  • устанавливать и удалять драйверы устройств.

Для запуска процесса установки драйверов используется функция InstallHinfSection, для удаления – соответственно unInstallHinfSection. В листинге 1 приведен пример установки драйверов, описанных в файле HP_1200.INF.

Листинг 1. Установка драйверов с помощью интерпретатора SETUPAPI

rundll32.exe setupapi,InstallHinfSection HP_1200_PPD 132 C:\HP_1200.INF

Функция InstallHinfSection имеет три параметра. Первый из них – имя выполняемой секции INF-файла, второй – флаг обработки файла. В таблице приведены возможные значения флага. Третий параметр – непосредственно имя INF-файла.

Интерпретатор ADVANCEDINF

По своей сути интерпретатор ADVANCEDINF является надстройкой над SETUPAPI, позволяющей выполнять дополнительно следующие функции:

  • однократное выполнение доустановки после входа в систему при инсталляции и деинсталляции (Active Setup);
  • предварительная запись изменяемых ключей реестра в бинарный файл (функция отката);
  • запуск исполняемых файлов с параметрами в скрытом и нормальном режимах;
  • вывод диалоговых окон.

Стандартные функции ADVANCEDINF передает на исполнение интерпретатору SETUPAPI.

Листинг 2. Установка драйверов с помощью интерпретатора SETUPAPI

rundll32.exe advpack,LaunchINFSection C:\HP_1200.INF HP_1200_PPD 132

Вывод

Бесспорным преимуществом является интегрированность обоих интерпретаторов, используемых в командных файлах, в операционную систему, однако при этом необходимо точно указывать местонахождение драйвера и секцию INF-файла, служащую его точкой входа. Для этого администратор должен разбираться в синтаксисе.

Возможные флаговые значения обработки файлов

Значение Описание
0 или 128 Не перезагружать компьютер
1 или 129 Перезагрузка компьютера без запроса
2 или 130 Спросить у пользователя: перезагрузить компьютер или нет
3 или 131 В случае необходимости перезагружать компьютер без запроса
4 или 132 В случае необходимости спросить у пользователя: перезагружать компьютер или нет

Driver Package Installer

Driver Package Installer (DPInst) – компонент, разработанный компанией Microsoft, входящий в состав пакета Microsoft Windows Driver Install Frameworks (DIF). В настоящее время используется DIF v 2.1. DPInst обладает возможностями:

  • Установка Plug and Play (PnP) драйверов. По умолчанию устанавливаются все подписанные PnP-драйверы, находящиеся в каталоге с файлом dpinst.exe. Для отключения проверки используется ключ /LM.
  • Пакетная установка драйверов с помощью файла dpinst.xml. Описание структуры XML-файла см. далее.
  • Поддержка «тихого» режима установки. Для включения режима используется ключ /S или /Q.
  • Поддержка многоязычного интерфейса установщика драйверов.
  • Ведение журнала установки.
  • Деинсталляция драйверов.

Из перечисленных возможностей видно, что с помощью DPInst можно реализовать автоматическую установку группы драйверов в «тихом» режиме. По умолчанию DPInst устанавливает в системе все драйверы, INF-файлы которых находятся в одном каталоге с этой утилитой, однако устраивать помойку из драйверов по меньшей мере некорректно. Для решения этой проблемы используется DPInst.XML, находящийся в одном каталоге с DPInst.EXE. Он представляет собой обычный текстовый файл в формате XML. Единственное его отличие от других файлов – наличие стандартизированных тегов.

Установка пакета драйверов

Существует два способа пакетной установки: с помощью тега <group> и <search>. Принципиальная разница между этими способами заключается в том, что с помощью тега <group> реализована установка драйверов, местоположение которых точно указано. Используя тег <search>, можно установить все драйверы в указанной и ее дочерних папках. Рассмотрим подробнее оба способа.

Пакетная установка драйверов с помощью тега <group>

Для обеспечения установки пакета драйверов в файле DPInst.XML используется тег <group>, в котором может быть три типа дочерних тегов:

  • <package path = «…»/> – таких тегов может быть неограниченное количество. Значение параметра path – относительный или абсолютный путь к INF-файлу драйвера.
  • <installAllOrNone/> – в случае ошибки установки одного из драйверов осуществляется деинсталляция всех драйверов данного пакета. Этот тег по действию аналогичен ключу /A утилиты DPInst.exe.
  • <suppressAddRemovePrograms/> – при наличии этого параметра мастером установки не будет создаваться соответствующая запись для каждого драйвера в папке «Установка и удаление программ», находящейся в «Панели управления» (см. рисунок). Этот тэг по действию аналогичен ключу /SA утилиты DPInst.exe.

Регистрация драйвера в «Установка и удаление программ»

Регистрация драйвера в «Установка и удаление программ»

Для автоматической установки пакета драйверов, состоящего из трех драйверов, находящихся в папках C:\hp1200\1200.inf, C:\hp3380\3380.inf, C:\hp4100\4100.inf, рекомендуется использовать XML-файл, приведенный в листинге 3.

Листинг 3. XML-файл, для автоматической установки

<?xml version="1.0" ?>

<dpinst>

<group>

<package path="c:\hp1200\1200.inf " />

<package path="c:\hp3380\3380.inf " />

<package path="c:\hp4100\4100.inf " />

<group/>

</dpinst>

Для обеспечения автоматической установки рекомендуется для запуска утилиты DPInst.exe использовать два ключа, включающих тихий режим установки (/S) и позволяющих устанавливать неподписанные драйверы (/LM):

DPInst .exe / S /LM

Пакетная установка драйверов с помощью тега <search>

Для пакетной установки драйверов на практике используется более быстрый способ, реализованный с помощью тега <search>. Его преимущество, которое в определенной ситуации является серьезным недостатком, – инсталляция всех найденных драйверов в указанном месте (листинг 4).

Листинг 4. Установка найденных драйверов в подпапках

<search>

<subDirectory>*</subDirectory>

</search>

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

Утилиты DPInst.exe поддерживает многоязычный интерфейс. Текст всех диалоговых окон, лицензионное соглашение и другая информация могут быть переведены разработчиком драйверов или администратором. Рассмотрим этот вопрос подробнее на примере создания русскоязычного интерфейса. Для описания интерфейса служит тэг <language>. С помощью параметра code задается кодовая страница, например, 0х0409 соответствует английскому языку, а 0х0419 – русскому (листинг 5).

Листинг 5. Шаблон файла DPInst.XML

<dpinst>

<language code="0х0419">

...

</language>

<group>

...

<group/>

</dpinst>

В тэге <language> могут быть приведены различные элементы, которые логически можно разделить на две группы. К первой группе отнесем те из них, которые управляют интерфейсом основного диалогового окна инсталлятора, ко второй – управляющие интерфейсом лицензионного соглашения. Поскольку перед системным администратором обычно стоит задача реализовать «тихую» установку, то ограничимся упоминанием о поддержке многоязычного интерфейса. Полное описание всех тегов находится в MSDN.

Вывод

Driver Package Installer имеет неоспоримые преимущества перед установкой драйверов с помощью командного файла благодаря реализованной возможности автоматического поиска драйверов в указанном месте. При этом за один заход можно установить в систему неограниченное количество драйверов.

Заключение

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


Комментарии отсутствуют

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

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru