При подключении нового устройства к вашему компьютеру, планшету или ноутбуку, Windows пытается автоматически установить подходящий драйвер. В дальнейшем операционная система будет автоматически обновлять драйвер устройства через обновления Windows (Windows Update). Такой подход является оптимальным, т.к. гарантирует установку актуальных версий драйверов, прошедших проверку в Microsoft. Однако в некоторых случаях пользователь хочет использовать старые версий драйверов и не хочет, чтобы они автоматически обновлялись через WindowUpdate.
В Windows 10 и 11 вы можете отключить автоматическое обновление драйверов устройств несколькими способами.
Как в Windows отключить обновления драйвера для конкретного устройства?
В Windows 10 и 11 вы можете заблокировать обновление драйверов для конкретного устройства. Например, вы используете какой-то старый (но стабильный) драйвер видеокарты, который перестает корректно работать после каждого автоматического обновления драйвера компьютеров. Вы хотите, чтобы все драйвера компьютера обновлялись автоматически, кроме драйвера вашего видеоадаптера.
Microsoft предлагает использовать утилиту wushowhide.diagcab (Show or Hide Updates), позволяющую скрыть конкретные обновления или драйвера в Windows 11 и 10.
- Вы можете скачать утилиту wushowhide.diagcab в центре загрузок Microsoft ( http://download.microsoft.com/download/f/2/2/f22d5fdb-59cd-4275-8c95-1be17bf70b21/wushowhide.diagcab );
- Запустите утилиту wushowhide.diagcab, выберите опцию «Hide Updates»;
- В списке обновлений Windows и драйверов отметьте драйвера, для которых нужно отключить обновление и нажмите Next;
- После этого выбранные драйвера не будут обновляться автоматически.
Вы можете отключить обновление конкретного драйвера через групповые политики. В первую очередь вам нужно определить идентификатор устройства, для которого вы хотите отключить обновление драйверов.
- Откройте консоль диспетчера устройств (
devmgmt.msc
), найдите в списке оборудования необходимое устройство и откройте его свойства; - Перейдите на вкладку « Сведения » и в выпадающем списке выберите пункт ИД оборудования ;
- Скопируйте значения идентификаторов оборудования, связанных с устройством (в формате
PCIVEN_8086&DEV_ ….
) в блокнот (notepad.exe
);
- В редакторе групповых политик (gpedit.msc) перейдите в раздел Конфигурация компьютера -> Административные шаблоны -> Система -> Установка устройства -> Ограничения на установку устройств . Включите политику «Запретить установку устройств с указанными кодами устройств»;
- В политике нажмите кнопку “ Показать ” и скопируйте в таблицу значений ID вашей видеокарты, полученные ранее;
- Сохраните изменения и обновите настройки групповых политик на клиенте командой:
gpupdate /force
- Теперь, если компьютер получит и загрузит обновления драйверов для этих устройств через Windows Update, при их автоматической установке появится сообщение об ошибке ( Установка этого устройства запрещена на основании системной политики. Обратитесь к системному администратору ).
Вы также не сможете обновить драйвер для этого устройства вручную. Для обновления драйвера вам придется удалить идентификатор оборудования из настроек групповых политик.
Вы можете включить эту же политику через реестр. Для этого запустите редактор реестра regedit.exe и перейдите в ветку HKLMSOFTWAREPoliciesMicrosoftWindowsDeviceInstallRestrictionsDenyDeviceIDs. Создайте в этом разделе строковые REG_SZ значения с именами по порядку, начиная с 1 и значением ИД оборудования в каждом параметре.
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 Запретить обновление драйверов в настройках оборудования Windows
Самый простой способ запретить Windows обновлять драйвера – изменить настройки системы на вкладке Оборудование . Для этого:
- Нажмите сочетание клавиш Win+R и выполните команду sysdm.cpl;
- Откроется вкладка Оборудование ( Hardware ) в окне Дополнительных параметров системы ( Advanced System Settings );
- Нажмите на кнопку Параметры установки устройств ( Device Installation Settings );
- В окне «Скачивать автоматически приложения производителя и настраиваемые значки, доступные для ваших устройства» измените значение на Нет (устройство может работать неправильно) ;
- Сохраните изменения и перезагрузите компьютер.
Эта настройка работает как в Windows 10, так и в Windows 11.
Отключить обновление драйверов устройств через групповые политики
Отключить обновление драйверов устройств в Windows 10 или 11 можно с помощью групповых политик. Вы можете использовать доменный редактор GPO (gpmc.msc) или локальный редактор групповых политик (описано ниже)
- Нажмите сочетание клавиш
Win + R</code >и наберите в появившемся окне
gpedit.msc
(в домашних редакциях Windows 10 вы можете запустить редактор локальных групповых политик так ); - В окне редактора групповых политик перейдите в раздел Computer Configuration -> Administrative Templates -> System-> Device Installation -> Device Installation Restrictions (Конфигурация компьютера -> Административные шаблоны -> Система -> Установка устройств -> Ограничения на установку устройств);
- Найдите политику с именем « Запретить установку устройств, не описанных другими параметрами политики » (Prevent installation of devices not described by other policy);
- Затем включите политику “Задать порядок поиска в исходных расположениях драйверов устройств” (Specify search order for device driver source locations ) . Эта политика находится в разделе Конфигурация компьютера -> Административные шаблоны -> Система -> Установка устройств (Computer Configuration -> Administrative Templates -> System -> Device Installation). Измените значение политики на “Не искать на веб сайте центра обновления Windows” (Do not search Windows Update). Данная политика позволяет исключить поиск обновлений драйверов на узлах Windows Update (при установке драйвера для любого устройства Windows пытается найти более подходящий драйвера через службу обновлений Windows);
- Включите политику (“ Enabled ”) и сохраните изменения;
- Перейдите в раздел Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Центр обновлений Windows (Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update -> Manage Updates offered from Windows Update), найдите и включите параметр с именем “ Не включать драйверы в обновления Windows ” (Do not include drivers with Windows Update policy); В Windows 11 этот параметр GPO находится в разделе Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update -> Manage Updates offered from Windows Update .
С помощью доменных GPO (настраиваются с помощью консоли gpmc.msc
) вы можете применить эти настройки на нескольких компьютерах в домене AD. В рабочей группе можно скопировать настройки локальной GPO на другие компьютеры с помощью LGPO.exe .
Отключить автоматическое обновление драйверов с помощью PowerShell
Вы можете использовать простой PowerShell скрипт для отключения автоматического обновления драйверов в Windows. Данный PowerShell скрипт меняет в реестре те же настройки, что и рассмотренные выше параметры GPO. Этот медод удобно использовать на компьютерах с домашней редакцией Windows (на которых отсуствует редактор локальной GPO) и в задачах автоматизации отключения автообновления драйверов.
Для отключения обновления драйверов нужно изменить значения следующих параметров реестра
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionDriverSearching –
SearchOrderConfig
= 3 (3 — не устанавливать драйвера через Windows Update - HKLMSOFTWAREMicrosoftWindowsCurrentVersionDevice Metadata –
PreventDeviceMetadataFromNetwork
= 1 - HKLMSOFTWAREMicrosoftWindowsWindowsUpdate –
ExcludeWUDriversInQualityUpdate
= 1
Откройте консоль PowerShell с правами администратора и выполните следующий скрипт:
Set-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionDriverSearching -Name SearchOrderConfig -Value 3
Set-ItemProperty -Path 'HKLM:SOFTWAREMicrosoftWindowsCurrentVersionDevice Metadata' -Name PreventDeviceMetadataFromNetwork -Value 1
# Проверить что ветка реестра существует и создать ее, если нужно
$regKey3 = 'HKLM:SOFTWAREMicrosoftWindowsWindowsUpdate'
$test = test-path -path $regKey3
if(-not($test)){
New-Item -Path $regKey3
}
Set-ItemProperty -Path $regKey3 -Name ExcludeWUDriversInQualityUpdate -Value 1
После перезагрузки автоматическое обновление драйверов в Windows будет заблокировано.
- HKLMSOFTWAREMicrosoftPolicyManagercurrentdeviceUpdate
- HKLMSOFTWAREMicrosoftPolicyManagerdefaultUpdate
- HKLMSOFTWAREMicrosoftWindowsUpdateUXSettings
- HKLMSOFTWAREPoliciesMicrosoftWindowsWindowsUpdate
Нужно установить значение параметра ExcludeWUDriversInQualityUpdate = 1 во всех указанных ветках реестра. Дополните скрипт таким кодом PowerShell:
$regkeys =
'HKLM:SOFTWAREPoliciesMicrosoftWindowsWindowsUpdate',
'HKLM:SOFTWAREMicrosoftPolicyManagerdefaultUpdate',
'HKLM:SOFTWAREMicrosoftWindowsUpdateUXSettings',
'HKLM:SOFTWAREMicrosoftPolicyManagercurrentdeviceUpdate'
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}
Несколько раз я видел, как администраторы отключают обновлений драйверов уже после развертывания образа Windows 10 и установки необходимых драйверов. Для этого можно запретить установку драйверов политикой « Запретить установку устройств, не описанных другими параметрами политики » (рассмотрено выше) или командой:
reg add "HKLMSOFTWAREPoliciesMicrosoftWindowsDeviceInstallRestrictions" /v DenyUnspecified /t REG_DWORD /d 1 /f