Как экспортировать драйвера с помощью PowerShell, за минуту

Обновлено 12.05.2023

выгрузить драйвераНеобходимость сохранить установленные в операционной системе драйверы встречается достаточно часто. Однако до недавнего времени в Windows не было нужного функционала и для экспорта драйверов приходилось использовать сторонние программы. Ситуация изменилась с выходом обновления Update 1 для Windows 8.1 - Server 2012 R2, в состав которого входит PowerShell командлет Export-WindowsDriver.
Этот командлет позволяет извлечь из хранилища драйверов (Driver Store) все установленные в системе драйверы сторонних производителей (не Microsoft) и сохранить их в указанное место. Export-WindowsDriver умеет доставать драйверы как из работающей системы, так и из офлайн образа Windows.

Хочу отметить, что данные действия спокой будут работать и в Windows 12 или Windows Server 2022

Как выгрузить драйвер из системы

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

Export-WindowsDriver -Online -Destination C:\Temp\drivers

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

$drivers = Export-WindowsDriver -Online -Destination C:\Temp\drivers
$drivers | ft ProviderName, ClassName, Date, Version -auto

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

$drivers | ft ProviderName, ClassName, Date, Version -auto | Out-File C:\Temp\Drivers\drivers.txt

Как экспортировать драйвера с помощью PowerShell в Windows 8.1- 2012R2-01

Как экспортировать драйвера с помощью PowerShell в Windows 8.1- 2012R2-01

Все экспортируемые драйвера сохраняются в указанной директории, каждый в свою папку, названную по имени inf-файла

Как экспортировать драйвера с помощью PowerShell в Windows 8.1- 2012R2-02

Как экспортировать драйвера с помощью PowerShell в Windows 8.1- 2012R2-02

Извлеченные таким образом драйвера можно устанавливать вручную или использовать в сценариях автоматического развертывания, например с помощью WDS или System Center Configuration Manager. Также их можно интегрировать непосредственно в установочный образ Windows. Возможность экспортировать драйвера очень удобна, так как позволяет сэкономить время на поиск нужных драйверов. К сожалению, экспорт драйверов возможен только в Windows 8.1\Server 2012 R2 с установленным Update 1. Еще примером когда, выгрузка драйверов, очень полезна, это при переустановке операционной системы на моих не любимых ноутбуках Sony Vaio, для которых поиск дров, переходит в целую эпопею.

Хоть и существует возможность обновить драйвера Windows за один мах, но на проприетарных системах по типу VAIO или HP, лучше подстраховаться и выгрузить драйвер, времени занимает минуты, а потом экономит дни

Ошибка Value cannot be null

В операционных системах Windows Server 2022 вы можете встретиться при выполнении командлета Export-WindowsDriver вот такую ошибку:

Export-WindowsDriver : Value cannot be null.
Parameter name: SafeHandle cannot be null.
At line:1 char:1
+ Export-WindowsDriver -Online -Destination "C:\Drivers"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Export-WindowsDriver], ArgumentNullException
+ FullyQualifiedErrorId : System.ArgumentNullException, Microsoft.Dism.Commands.ExportWindowsDriverCommand

Связано это с глюком самой ОС и Microsoft так и не починила это, как обходной путь это использование утилиты командной строки DISM.

dism /online /export-driver /destination:C:\Drivers

Ошибка Value cannot be null

Автор - Сёмин Иван

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

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