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 в Евросоюзе – даже там, где административные политики запрещали установку драйверов.