# Показать все устройства с проблемами (нет драйвера / ошибка)
Get-PnpDevice -Status ERROR,DEGRADED,UNKNOWN | Select FriendlyName, InstanceId, Status
# Принудительно попросить систему пересканировать оборудование
pnputil /scan-devices
# Поиск и установка драйверов через Windows Update (только под драйверы)
$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher()
$Searcher.ServerSelection = 3 # искать через Windows Update
$Criteria = "IsInstalled=0 and Type='Driver'"
$Result = $Searcher.Search($Criteria)
if ($Result.Updates.Count -eq 0) {
Write-Host "Windows Update не нашёл драйверов для проблемных устройств"
} else {
$Result.Updates | ForEach-Object { Write-Host "Найден:" $_.Title }
$ToInstall = New-Object -ComObject Microsoft.Update.UpdateColl
$Result.Updates | ForEach-Object { $ToInstall.Add($_) | Out-Null }
$Downloader = $Session.CreateUpdateDownloader()
$Downloader.Updates = $ToInstall
$Downloader.Download()
$Installer = $Session.CreateUpdateInstaller()
$Installer.Updates = $ToInstall
$Installer.Install()
}