windows 10 — Как автоматически обновлять все устройства в диспетчере устройств
Задавать вопрос
спросил
Изменено 3 года назад
Просмотрено 59 тысяч раз
В диспетчере устройств Windows можно «вручную» запустить автоматическое обновление устройства. Но это очень утомительно, нужно щелкнуть по каждому устройству (поскольку неизвестно, есть ли доступное обновление для этого конкретного устройства) — затем нужно щелкнуть всплывающие окна — и нужно дождаться завершения онлайн-поиска.
Итак, я надеялся, что есть какой-нибудь сценарий Powershell, способный сделать это, или, может быть, запись в реестре, чтобы «Центр обновления Windows» позаботился об этом.
(Эх, да, Windows НЕ обновляет автоматически ВСЕ устройства в диспетчере устройств).
- windows-10
- драйверы
- windows-update
- диспетчер устройств
Артикул Скрипт для установки или обновления драйверов непосредственно из каталога Microsoft содержит сценарий PowerShell для выполнения того, что запрашивается.
В статье есть хорошее объяснение каждой части скрипта. Ниже я воспроизвожу только голый скрипт с небольшими изменениями (которые я не проверял):
#поиск и список всех отсутствующих драйверов $Session = New-Object -ComObject Microsoft.Update.Session $Searcher = $Session.CreateUpdateSearcher() $Searcher.ServiceID = '7971f918-a847-4430-9279-4a52d1efe18d' $Searcher.SearchScope = 1 # Только для машин $Searcher.ServerSelection = 3 # Третье лицо $Criteria = "IsInstalled=0 и Type='Драйвер' и ISHidden=0" Write-Host('Поиск обновлений драйверов...') -Fore Green $SearchResult = $Searcher. Search($Criteria) $Обновления = $SearchResult.Обновления # Показать доступные драйверы $Обновления | выберите Title, DriverModel, DriverVerDate, Driverclass, DriverManufacturer | фл # Загрузите драйверы от Microsoft $UpdatesToDownload = New-Object -Com Microsoft.Update.UpdateColl $обновления | % { $UpdatesToDownload.Add($_) | нулевой } Write-Host('Загрузка драйверов...') - Fore Green $UpdateSession = New-Object -Com Microsoft.Update.Session $Загрузчик = $UpdateSession.CreateUpdateDownloader() $Downloader.Updates = $UpdatesToDownload $Загрузчик.Загрузить() #Проверьте, все ли драйверы загружены, и запустите установку $UpdatesToInstall = New-Object -Com Microsoft.Update.UpdateColl $обновления | % { if($_.IsDownloaded) { $UpdatesToInstall.Add($_) | нулевой } } Write-Host('Установка драйверов...') -Fore Green $Installer = $UpdateSession.CreateUpdateInstaller() $Installer.Updates = $UpdatesToInstall $InstallationResult = $Установщик.Установить() если($InstallationResult.RebootRequired) { Write-Host('Требуется перезагрузка! Перезагрузитесь сейчас..') -Fore Red } else { Write-Host('Done..') -Fore Green }
Универсальный и мощный пакет PSWindowsUpdate .
Вот несколько руководств по его установке и использованию:
- Windows 10: обновление и обновление Windows 10 с помощью PowerShell.
- Управление обновлениями Windows с помощью PowerShell
Пакет добавляет команду Get-WUInstall
(и другие), с помощью которой вы можете
получить и установить обновления.
Исходный код Get-WUInstall
также доступен отдельно.
с гитхаба.
Другой пример его использования можно найти в статье PS Сценарий для автоматизации обновлений Windows и MS.
4Существует приложение Windows Update MiniTool , которое может получить эти драйверы, но оно способно на гораздо большее — в отношении обновлений Windows.
(лично я все же предпочитаю скрипт от harrymc, он безболезненный — просто запускаешь и готово)
- English Forum
- Русский Форум (первоисточник)
Цитата с английского форума:
Альтернатива стандартному обновлению Windows Что ты можешь сделать: - Проверить наличие обновлений - Скачать обновления - Установка обновлений - Удаление установленных обновлений - Скрытие нежелательных обновлений - Получить прямые ссылки на файлы обновлений *.
Ваш комментарий будет первым