Управление драйверами и службами Windows с помощью ServiWin

Категория ~ Технические советы – Игорь (Администратор)

Примечание : Несмотря на то, что на сайте нет четкого заявления о совместимости с 64-разрядными версиями Windows, программа вполне отлично себя чувствовала в 64-битной Windows 7.

Интерфейс ServiWin сделан достаточно просто и удобно. Вы можете переключаться между списками драйверов и сервисов системы (меню иконок - первые две), а так же настраивать отображение и порядок следования 16 возможных колонок. Кроме того, утилита позволяет экспортировать данные в html и открывать соответствующие ключи реестра для драйверов или служб. Щелкнув правой кнопкой мыши на драйвере или сервисе, появится контекстное меню, которое позволяет не только управлять состоянием, но осуществлять поиск в Google, что несомненно пригодится тем, кому необходимо разобраться с происходящем на компьютере. Так же у вас имеется возможность определять тип запуска драйвера (отключено, автоматически и т.д.). На самом деле, это достаточно редкая функция. В основном, утилиты данного класса позволяют только лишь просматривать список драйверов.

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

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

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

Управлять аппаратными устройствами в Windows осуществляется очень легко с помощью «Диспетчера устройств». Однако, не всегда есть возможность использовать графические утилиты, или может, Вы сами хотите управлять драйверами устройств из командной строки. В таком случае для вас есть хорошая утилита .
DevCon - это программа с интерфейсом командной строки, которая используется в качестве альтернативы диспетчеру устройств С ее помощью можно включать, выключать, перезапускать, обновлять, удалять и опрашивать отдельные устройства или группы устройств. Программа DevCon также предоставляет необходимые разработчику драйвера сведения, которые недоступны с помощью диспетчера устройств.

DevCon является бесплатной, и может быть загружена с сайта Microsoft. После загрузки запустите самораспаковывающийся архив и распакуйте его в какое-нибудь место на компьютере, которое сможете легко написать в «Командной строке». Для примера, я распаковал файлы в папку “C:\devcon”


Теперь откройте «Командную строку» с правами администратора. Для того, чтобы сделать это в ОС Windows XP, Windows Server 2000, Windows Server 2003, нажмите меню «Пуск» -> и введите команду “cmd”. Если Вы используете Windows Vista, Windows 7, Windows Server 2008 или Windows Server 2008 R2, то нажмите на меню «Пуск», наберите в строке поиска “cmd”, и щёлкнув по найденому значению правой кнопкой выберете пункт меню «Запуск от имени администратора». И наконец, если у Вас Windows 8, просто нажмите сочетание клавиш “Win+X”, и выберете пункт меню «Командная строка (администратор)».


После того, как Вы окажетесь в «Командной строке», перейдите в каталог с программой DevCon той версии, которая соответствует вашей архитектуре (32-х (i386) или 64-х (ia64) разрядная ОС). Если Вы разместили DevCon в той же папке, что и я, просто используйте команду ниже, или измените в ней путь на свой, если поместили утилиту в отличную пот моего примера папку.
cd c:\devcon\i386


Теперь, если Вы хотите узнать синтаксис, команды и аргументы, используемые в программе DevCon, используйте следующую команду:


Чтобы получить список девайсов, Вы можете использовать команду “find” с аргументами в виде части названия устройства. Чтобы получить список устройств удалённого компьютера, Вам так же понадобится ввести и имя этого компьютера. Вы без труда сможете найти имя компьютера в окне «Свойства системы». Для примера, я использую следующую команду, чтобы получить подробную информацию о моём CD-ROM.
devcon.exe find deviceName


Так же Вы можете получить данные об оборудовании с использованием его идентификатора. Например, так можно получить список всех устройств на компьютере.
devcon.exe hwids *
Если Вы хотите отфильтровать список оборудования, то можно использовать следующую команду.
devcon.exe hwids deviceName


Теперь, если Вы хотите узнать статус устройства, то используйте следующую команду. Чтобы упростить ввод команд, можно использовать коды оборудования или подстановку имен, как это сделал я.
devcon.exe status deviceName


Для отключения устройства, используя DevCon, примените следующую команду. Будте осторожны с использованием подстановки имён, т.к. таким образом Вы можете отключить сразу несколько устройств.
devcon.exe disable deviceName
Для включения устройства воспользуйтесь противоположной командой.
devcon.exe enable deviceName
Если Вы хотите просканировать компьютер на наличие новых устройств, то используйте команду ниже. Это то же самое, что и кнопка «Обновить конфигурацию оборудования» в «Диспетчере устройств».
devcon.exe rescan


Для установки новых драйверов, вам необходимо иметь INF файл, который идёт в комплекте с драйвером. Получив такой файл, просто указываем к нему путь с использованием следующей команды. Не забудьте поменять выражение «Путь к INF файлу» на настоящий путь, а значение “hardwareID” на идентификатор оборудования. Если после установки оборудования необходима перезагрузка, то просто используйте параметр “/r” при установке драйверов.
devcon.exe /r install «Путь к INF файлу» hardwareID
Для обновления драйвера устройства, используйте следующую команду. При использовании идентификатора устройства, вы так же можете использовать и подстановку имён, но будте осторожны с этим.
devcon.exe /r update «Путь к INF файлу» hardwareID
А для удаления устройства с компьютера, используйте следующую команду. Так же, как и в других случаях, Вы можете использовать подстановку имён.
devcon /r remove «hardwareID»
На этом всё, и это лишь малая часть того, что Вы можете делать при помощи DevCon. Команд, описанных выше, как правило, хватает в большинстве случаев. Но если Вы хотите знать больше,

В предыдущей части этого цикла мы рассматривали то, как использовать MDT 2010 для включения важного для загрузки внештатного драйвера устройств массового хранения в образ загрузки Lite Touch Windows PE, чтобы разворачивать Windows на системы, для которых нет штатного драйвера контроллера массового хранения. Мы также узнали шаги, необходимые для импорта драйверов в папку Out-Of-Box Drivers установочного ресурса. Но что, если нам нужно добавить десятки, сотни или даже тысячи внештатных драйверов в MDT для разных операционных систем, для систем с разной архитектурой (x86 или x64), и для различных марок и моделей систем? В этой и нескольких следующих частях мы узнаем, как использовать новые функции MDT 2010 для управления драйверами в таких сложных ситуациях.

Почему драйверу усложняют процесс установки

Практически все сценарии установки, за исключением самых простых, включают не только установку ОС. Реальные сценарии установки обычно включают все следующие моменты для целевых компьютеров:

  • Операционная система
  • Драйверы устройств
  • Приложения
  • Языковые пакеты
  • Исправления для ОС и приложений
  • Настройки для ОС и приложений

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

Еще одной причиной сложности с драйверами является то, что драйверы могут требоваться не только для работы установленных ОС, они также могут требоваться системам для запуска процесса установки. Как мы видели в предыдущих частях, иногда драйверы (особенно драйверы устройств массового хранения, но иногда и драйверы сетевых карт) нужно включать в загрузочный носитель Lite Touch Windows PE, иначе вы не сможете загрузить целевой компьютер и начать установку Windows на него. К счастью, с настольными компьютерами общий загрузочный образ Lite Touch Windows PE, создаваемый в MDT, обычно позволяет загружать их, подключать к установочному ресурсу по сети и продолжать процесс установки. Однако для серверов с их RAID картами и прочими прелестями могут потребоваться дополнительные драйверы, чтобы Windows PE просто могла начать установку.

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

Наконец, когда вы устанавливаете последнюю версию Windows, например Windows 7, новейшее и самое старое аппаратное оборудование может зачастую иметь проблемы с драйверами. Хотя Windows 7 содержит множество встроенных драйверов, она может не иметь подходящих драйверов для аппаратного оборудования, которое было выпущено после Windows 7 RTM. Windows 7 также может не иметь подходящих драйверов для аппаратных средств времен XP или ранее. К сожалению, порой очень сложно подобрать подходящий драйвер для аппаратного оборудования на веб сайте производителя (если таковой вообще имеется). И даже после загрузки подходящих драйверов иногда приходится сильно постараться, чтобы извлечь их файлы, чтобы можно было импортировать их в установочный ресурс. Причина заключается в том, что мастер Import Driver Wizard, которого мы рассматривали в предыдущей части, может импортировать только драйверы, содержащие INF файлы. К сожалению, некоторые производители любят выпускать дополнительные программные средства управления своим оборудованием в пакете с драйверами, при этом такие драйверы необходимо устанавливать в самом конце процесса установки через запуск процесса установки драйверов из интерфейса поставщика, что приводит к дополнительной работе по настройке последовательности задач.

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

Также встает вопрос о том, следует ли пытаться контролировать то, какие определенные драйверы устанавливать для определенных целевых компьютеров во время установки, или позволить Windows использовать функцию Plug and Play для решения того, какие драйверы должны быть установлены на определенные целевые компьютеры. Другими словами здесь, по сути, есть два подхода при управлении драйверами во время установки: подход «самостоятельное решение» и подход "решение Windows". Мы сначала рассмотрим второй подход, поскольку его проще применять. Но прежде чем это делать, немного истории.

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

Большинство организаций выполняет установки своих настольных компьютеров посредством создания эталонного образа установки и последующего развертывания этого образа на целевые компьютеры. В говорилось о том, как использовать MDT для создания образа мастера, разворачивая Windows (совместно с приложениями, языковыми пакетами, исправлениями и прочими настройками) на эталонный компьютер, а затем создавая снимок подготовленного в sysprepped образа этого компьютера, и выгружая его в установочный ресурс. А в мы рассмотрели другой способ создания эталонного образа, запустив предустановленный/преднастроенный компьютер и используя новую последовательность задач Sysprep и Capture для создания снимка эталонного образа с этого компьютера. В обоих случаях сначала нужно было создавать эталонный образ вашего компьютера (или два образа, если нужно установить x64 и x86 Windows), используя MDT сервер в вашей тестовой среде, и затем развернуть ваш(и) эталонный(ые) образ(ы) на целевые компьютеры с помощью отдельного MDT сервера в вашей сети предприятия.

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

Затем был выпущен BDD (предшественник MDT), и когда BDD 2007 добавил поддержку для Plug and Play перечисления, необходимость в добавлении всех этих внештатных драйверах в эталонный образ отпала. Вместо этого вы теперь могли позволить Windows решить во время установки то, какие драйверы брать из установочного ресурса и устанавливать в каждую целевую систему. Давайте посмотрим, как реализовать такой подход.

Использование подхода "решение Windows" при управлении драйверами

В этом подходе вы просто импортируете все драйверы различных типов целевых компьютеров, которые вам нужны, в свой установочный ресурс. Затем, когда вы используете MDT для развертывания эталонного образа на определенные системы с помощью MDT, Windows будет использовать функцию Plug and Play для определения того, какие дополнительные внештатные драйверы нужно установить на каждую систему с совпадающими PnP IDs каждого аппаратного компонента с PnP Ids, поддерживаемые доступными драйверами " другими словами, используя Plug and Play перечисление.

Главным преимуществом такого подхода является простота. Поскольку это способ, которым MDT выполняет Lite Touch установку по умолчанию, здесь меньше времени инициализации и работы, необходимой для планирования того, как управлять драйверами во время вашей установки " вы просто скидываете их в свой установочный ресурс и позволяете MDT и PnP делать свое магическое дело. А поскольку не требуется практически никакого предварительного планирования или подготовки, вы можете выполнить нужную задачу очень быстро с помощью этого подхода.

Вот как это работает на практике. Допустим ваша организация находится в процессе перехода с Windows XP на Windows 7 и имеет следующие системы настольных компьютеров:

  • Dell Optiplex 580 системы, на которые будут установлены Windows 7 x64 или Windows 7 x86
  • Dell Precision T3500 системы, на которые нужно установить Windows 7 x64
  • Hewlett-Packard Pro 3015 Microtower системы, на которые нужно установить Windows 7 x64, Windows 7 x86 или Windows XP SP3.

Когда вы загрузили все драйверы для этих систем, скопируйте их в папку, например, C:\Drivers своего производственного сервера MDT:

В этом примере файлы загруженных драйверов организованы в две папки (Dell и HP) с подпапками, назваными по именам моделей. Затем в папке каждой модели находятся различные подпапки операционных систем (например, Windows 7 x64 и x86) или устройств (например, audio), или ID номера пакетного драйвера (для HP драйверов).

Чтобы импортировать все эти драйверы в свой установочный ресурс, откройте Deployment Workbench, нажмите правой клавишей на папке Out-Of-Box Drivers, и выберите опцию импортирования драйверов (Import Drivers) для запуска мастера импорта драйверов. Затем нажмите кнопку Обзор (Browse) на странице Specific Directory и выберите папку в корне диска C:\Drivers:

Рисунок 2: Выбор корневой папки, где хранятся все драйверы

Нажмите OK, чтобы вернуться на страницу Specify Directory:

Обратите внимание, что при этом выполняется импорт всех драйверов в папке C:\Drivers и всех подпапках. Выполните все оставшиеся шаги мастера. Результат должен выглядеть примерно так, как показано на рисунке ниже:

Рисунок 4: Все драйверы, необходимые для установки компьютеров, импортированы в папку Out-Of-Box Drivers

Обратите внимание, что процесс импорта может потребовать несколько минут на выполнение, поскольку импортируется более сотни мегабайт драйверов " и это всего для трех разных марок/моделей с парой операционных систем!

После импорта всех драйверов в установочный ресурс, вы можете использовать MDT для развертывания своего эталонного образа на целевые компьютеры. Во время установки эталонного образа Windows будет использовать PnP перечисление для определения того, какие дополнительные драйверы в установочном ресурсе нужно установить на целевые компьютеры для обеспечения корректной работы аппаратных средств.

Этот подход «решения Windows» удобен своей простотой " но есть ли в нем какие-либо недостатки? Есть лишь один недостаток " могут возникать конфликты драйверов для определенных типов аппаратного оборудования, особенно если вы устанавливаете несколько операционных систем из своего установочного ресурса. Но если вы устанавливаете всего одну версию операционной системы, например Windows 7 x64, и у вас есть всего несколько марок и моделей компьютеров, то с использованием этого подхода вы можете просто скинуть все внештатные драйверы в свой установочной ресурс и позволить PnP перечислению решить, кто получит отлично работающие системы. С другой стороны, если вы тестируете этот подход в своей тестовой среде MDT, вы можете обнаружить, что на некоторые системы устанавливаются не те драйверы (например, Windows XP Professional драйвер устанавливается на систему, на которую вы ставите Windows 7 x86), в этом случае вам нужен другой подход к управлению драйверами в вашей установке. Здесь на помощь приходит выбор профилей, и о нем мы поговорим в следующей части этого цикла статей.