Microsoft объяснила массовую установку драйверов и BIOS на ПК с Windows вопреки политике запрета автоматических обновлений

984 комментарии
Из-за сбоя службы кэширования Центра обновления Windows часть управляемых ПК получила обновления драйверов и BIOS вопреки запретам администраторов. Нередко после этого переставали работать звук или изображение

Microsoft назвала причину, по которой на части управляемых компьютеров с Windows внезапно устанавливались обновления драйверов вопреки заданным политикам, – сбой в службе кэширования Центра обновления Windows.

Сбой в Windows Update привёл к установке драйверов вопреки политикам

О проблеме компания сообщила днём во вторник, 2 июня.

«Мы получили сообщение о том, что на устройствах с Windows, где настроены политики запрета автоматических обновлений, устанавливаются драйверы. Пока мы работаем над устранением последствий, мы установили, что устанавливаемые драйверы одобрены и подписаны Microsoft и не несут угрозы безопасности», – говорилось в первом уведомлении Microsoft.

В отчёте об инциденте в центре администрирования (MO1332784) причиной названа неверная настройка службы кэширования Центра обновления Windows: она на время потеряла сведения о регистрации устройств, из-за чего часть компьютеров система сочла незарегистрированными и перестала применять к ним правила подтверждения драйверов. Проблему также признала команда поддержки Intune.

Microsoft устранила проблему и восстановила регистрацию устройств

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

Администраторы сообщали о проблемах со звуком и видео после обновлений

Сколько регионов и клиентов затронул сбой, Microsoft не уточнила. При этом администраторы сообщали о десятках тысяч устройств, которые неожиданно получили обновления BIOS и драйверов, причём нередко после этого переставали работать звук или изображение.

Во время сбоя администраторы делились временными мерами. Многим помогла блокировка установки драйверов на уровне политики Центра обновления Windows (в кольцах обновления) – это останавливало поток лишних обновлений. Чтобы вернуть пропавший звук, советовали удалить звуковые устройства (не удаляя сам драйвер) и заново их определить, например перезагрузкой. Стоит учитывать, что это наблюдения самих администраторов из обсуждения в сообществе, а не официальные рекомендации Microsoft; к тому же на стороне службы проблему уже устранили.

Для массового исправления один из участников того же обсуждения поделился PowerShell-скриптом: он удаляет звуковые устройства, не трогая драйвер, и через пять минут перезагружает компьютер, чтобы устройства определились заново. Скрипт разворачивают как приложение Win32 в Intune – первый скрипт выполняет удаление, второй служит правилом обнаружения, а в поведении перезапуска устройства выбирают «Никаких действий» (перезагрузку планирует сам скрипт). Чтобы запустить повторно на той же машине, нужно удалить папку-маркер C:\ProgramData\AudioDeviceRemoval.

Скрипт удаления (Install):

# Remove-AudioDevices.ps1
# Uninstalls audio devices without deleting driver software
# Creates marker file for Intune Win32 app detection
# Prompts user that reboot will happen in 5 minutes
# Run as Administrator / Intune System context
 
$ErrorActionPreference = "Continue"
 
$markerPath = "C:\ProgramData\AudioDeviceRemoval"
$markerFile = Join-Path $markerPath "Completed.marker"
$logFile    = Join-Path $markerPath "Remove-AudioDevices.log"
 
function Write-Log {
    param ([string]$Message)
    $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    $entry = "$timestamp - $Message"
    Write-Output $entry
    if (-not (Test-Path $markerPath)) {
        New-Item -Path $markerPath -ItemType Directory -Force | Out-Null
    }
    Add-Content -Path $logFile -Value $entry
}
 
Write-Log "Starting audio device removal."
 
$audioDevices = Get-PnpDevice | Where-Object {
    $_.Class -in @("MEDIA", "AudioEndpoint") -and
    ($_.FriendlyName -match "audio|sound|speaker|headphone|microphone|realtek|intel.*display.*audio|nvidia.*audio|amd.*audio")
}
 
if (-not $audioDevices) {
    Write-Log "No targeted audio devices found."
}
else {
    Write-Log "Found $($audioDevices.Count) targeted audio device(s)."
    foreach ($device in $audioDevices) {
        Write-Log "Removing device: $($device.FriendlyName)"
        Write-Log "Instance ID: $($device.InstanceId)"
        try {
            $removeResult = pnputil /remove-device "$($device.InstanceId)" 2>&1
            foreach ($line in $removeResult) {
                Write-Log "pnputil: $line"
            }
        }
        catch {
            Write-Log "Failed to remove device: $($device.FriendlyName). Error: $($_.Exception.Message)"
        }
    }
}
 
try {
    if (-not (Test-Path $markerPath)) {
        New-Item -Path $markerPath -ItemType Directory -Force | Out-Null
    }
    New-Item -Path $markerFile -ItemType File -Force | Out-Null
    Write-Log "Created Intune detection marker: $markerFile"
}
catch {
    Write-Log "Failed to create marker file. Error: $($_.Exception.Message)"
    exit 1
}
 
Write-Log "Audio device removal script completed. Driver software was not deleted."
Write-Log "Scheduling reboot notification for 5 minutes."
 
shutdown.exe /r /t 300 /c "Audio device cleanup has completed. Your computer will restart in 5 minutes to finish reinstalling audio devices. Please save your work."
 
Write-Log "Reboot scheduled for 5 minutes from now."
 
exit 0

Скрипт обнаружения (Detection):

# Detect-AudioDeviceRemovalMarker.ps1
 
$markerFile = "C:\ProgramData\AudioDeviceRemoval\Completed.marker"
 
if (Test-Path $markerFile) {
    Write-Output "Audio device removal marker found."
    exit 0
}
else {
    Write-Output "Audio device removal marker not found."
    exit 1
}

Подобные сбои у Microsoft случались и раньше. В апреле компания устранила ошибку, из-за которой системы с Windows Server 2019 и 2022 неожиданно обновлялись до Windows Server 2025. А в прошлом месяце исправила сбой, при котором обновления драйверов устанавливались на часть управляемых через Windows Autopatch компьютеров с Windows 11 в Евросоюзе – даже там, где административные политики запрещали установку драйверов.

Автор:
Комментарии и отзывы

Нашли ошибку?

Новое на сайте