Загрузка данных


# Показать все устройства с проблемами (нет драйвера / ошибка)
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()
}