Запретить автоматическое обновление драйверов в Windows

Помимо обновлений безопасности и патчей для операционной системы, на серверах обновлений Windows Update доступны обновления драйверов для большинства сертифицированных устройств. Если служба Windows Update при сканировании компьютера обнаружит, что для какого-то устройства в каталоге Microsoft Update доступна более новая версия драйвера, она автоматически скачает и установит обновленный драйвер. В этой статье мы рассмотрим, как отключить автоматическое обновлений драйверов устройств в Windows 10 и 11.

Отключить установку обновления драйвера для конкретного устройства

Например, вы используете какой-то старый (но стабильный) драйвер видеокарты, который перестает корректно работать после каждого автоматического обновления драйвера. После каждого обновления вам приходится вручную откатываться на предыдущую стабильную версию драйвера. Вы хотите, чтобы все драйвера компьютера обновлялись автоматически, кроме этого драйвера видеоадаптера.

В центре обновления windows доступно обновление драйвера

Если пакет обновления драйвера доступен к установке через Windows Update, вы можете скрыть это обновление с помощью официальной Microsoft утилиты Show or hide updates.

  1. Скачайте wushowhide.diagcab из центра загрузок Microsoft
  2. Запустите утилиту и выберите опцию Hide Updates;
  3. В списке доступных обновлений отметьте драйвера, которые нужно игнорировать при установке и нажмите Next;Скрыть обновления для драйвера в Windows Update
  4. Теперь указанные драйвера не будут обновляться автоматически.

Также можно скрыть обновления драйвера с помощью PowerShell модуля PSWindowsUpdate. Выведите список доступных обновлений драйверов, и скопируйте ID драйвера:

$Updates = Get-WindowsUpdate -WindowsUpdate -UpdateType Driver
$Updates | Select Title,Description -Expand Identity |fl

Скройте обновления для драйвера по его ID:

Hide-WindowsUpdate -UpdateID "0be073ee-34ba-432c-91c8-957a608d0e2f"

powershell: запретить обновлять драйвер

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

  1. Запустите консоль диспетчера устройств ( devmgmt.msc ) и откройте свойства необходимого устройства;свойства оборудования
  2. Перейдите на вкладку «Сведения» и в выпадающем списке выберите пункт ИД оборудования;
  3. Скопируйте значения идентификаторов оборудования, связанных с устройством (в формате PCI\VEN_8086&DEV_ …. ) в блокнот ( notepad.exe );
    получение идентификатора оборудования PCI\VEN

Также можно получить Harware ID устройства с помощью PowerShell:

Get-PnpDevice|where FriendlyName -like "*HD Graphics*"|select class, FriendlyName, HardwareID|fl

Get-PnpDevic: получить HWID идентфикаторы устройства

Затем откройте редактор локальной групповой политики ( gpedit.msc ) и перейдите в раздел Конфигурация компьютера -> Административные шаблоны -> Система -> Установка устройства -> Ограничения на установку устройств. Включите политику Запретить установку устройств с указанными кодами устройств (Prevent installation of devices that match any of these device IDs). Включите опцию Also apply to matching devices that are already installed.

В политике нажмите кнопку “Показать” и скопируйте в таблицу значений ID вашей видеокарты, полученные ранее;

политика Запретить установку устройств с указанными кодами устройств

С помощью этого параметра GPO можете запретить обновление драйверов для конкретных типов (классов) устройств (принтеров, звуковых карты, USB контроллеров и т.д). Для этого нужно указать GUID класса устройства в параметрах политики. Например{ 4d36e972-e325-11ce-bfc1-08002be10318} – класс сетевых адаптеров, {4d36e979-e325-11ce-bfc1-08002be10318} и {4658ee7e-f050-11d1-b6bd-00c04fa372a7} – принтеры и т.д. Полный список GUID классов оборудования перечислен здесь: https://docs.microsoft.com/en-us/windows-hardware/drivers/install/system-defined-device-setup-classes-available-to-vendors

Сохраните изменения и обновите настройки групповых политик на клиенте командой: gpupdate /force

Теперь, если компьютер получит и загрузит обновления драйверов для этих устройств через Windows Update, при их автоматической установке появится сообщение об ошибке:

Установка этого устройства запрещена на основании системной политики. Обратитесь к системному администратору

Установка этого устройства запрещена на основании системной политики. Обратитесь к системному администратору

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

Также можно включить эту настройку напрямую через реестр. Для этого запустите редактор regedit.exe , перейдите в ветку HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions\DenyDeviceIDs . Создайте в REG_SZ значения с именами по порядку, начиная с 1 и значением ИД оборудования в каждом параметре.

запретить установку драйвера устройств через реестр DenyDeviceIDs

Также создайте параметр DenyDeviceIDsRetroactive со значением 1:

reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceInstall\Restrictions" /v "DenyDeviceIDsRetroactive" /t "REG_DWORD" /d "1" /f

Отключить обновление драйверов через GPO

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

  1. Нажмите сочетание клавиш Win + R и наберите в появившемся окне gpedit.msc (в домашних редакциях Windows можно запустить редактор локальных групповых политик так);
  2. Включите параметр Do not include drivers with Windows Update (Не включать драйверы в обновления Windows) в разделе Computer Configuration -> Administrative Templates -> Windows Components -> Manage Updates offered from Windows Update. Политика Не включать драйверы в обновления Windows
  3. Затем перейдите в раздел Computer Configuration -> Administrative Templates -> System -> Device Installation
  4. Настройте следующие политики
  5. Prevent device metadata retrieval from the Internet (Отключить запрос на использование Центра обновления Windows при поиске драйверов)= Enabled
  6. Specify search order for device driver source locations (Задать порядок поиска в исходных расположениях драйверов устройств) = Do not search Windows Update (Не искать на веб сайте центра обновления Windows) Не искать драйвера на сайте центра обновлений Windows

С помощью доменных GPO (настраиваются с помощью консоли Group Policy Management Console gpmc.msc ) вы можете применить эти настройки на нескольких компьютерах в домене AD. В рабочей группе можно скопировать настройки локальной GPO на другие компьютеры с помощью LGPO.exe. После применения этих политик к компьютерам, они перестанут пытаться обновлять драйвера через Windows Update.

Отключаем автоматическое обновление драйверов с помощью PowerShell

Для отключения автоматического обновления драйверов в Windows можно воспользоваться командами PowerShell, которые изменят настройки в реестре (аналогичные изменениям, вносимым описанным выше политикам).

Нужно изменить значения следующих параметров реестра:

  • SearchOrderConfig =3 (не устанавливать драйвера через Windows Update
  • PreventDeviceMetadataFromNetwork = 1
  • Параметр ExcludeWUDriversInQualityUpdate = 1 (находится в нескольких ветках)
  • ExcludeWUDrivers = 1

PowerShell скрипт для изменения этих параметров реестра:
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching\ -Name SearchOrderConfig -Value 3
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Metadata\' -Name PreventDeviceMetadataFromNetwork -Value 1
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UpdatePolicy\PolicyState\" -Name ExcludeWUDrivers -PropertyType DWord -Value 1
$regkeys =
'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate',
'HKLM:\SOFTWARE\Microsoft\PolicyManager\default\Update',
'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings',
'HKLM:\SOFTWARE\Microsoft\PolicyManager\current\device\Update'
foreach ($regkey in $regkeys){
# Проверить что ветка реестра существует и создать ее, если нужно
$test = test-path -path $regkey
if(-not($test)){
New-Item -Path $regKey
}
Set-ItemProperty -Path $regkey -Name ExcludeWUDriversInQualityUpdate -Value 1
}
foreach ($regkey in $regkeys){write-host $regkey}

Также вы можете изменить эти параметры реестра вручную с помощью regedit.exe, или распространить ключи реестра на компьютеры домена с помощью GPO.

После перезагрузки автоматическое обновление драйверов в Windows будет заблокировано.

Запретить обновление драйверов в настройках оборудования Windows

В версиях ОС до Windows 10 и 11 можно было запретить обновление драйвера в настройках системы на вкладке Оборудование. Для этого:

  1. Нажмите сочетание клавиш Win+R и выполните команду sysdm.cpl ; sysdm.cpl - панель настройки оборудования windows
  2. Откроется вкладка Оборудование (Hardware) в окне Дополнительных параметров системы (Advanced System Settings);
  3. Нажмите на кнопку Параметры установки устройств (Device Installation Settings);Параметры установки устройств Windows 10
  4. В окне «Скачивать автоматически приложения производителя и настраиваемые значки, доступные для ваших устройства» измените значение на Нет (устройство может работать неправильно);Запретить скачивать автоматически драйвера устройств
  5. Сохраните изменения и перезагрузите компьютер.

Предыдущая статья Следующая статья


Комментариев: 16 Оставить комментарий

Оставить комментарий

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

Я не робот( Обязательно отметьте)