Могу ли я получить больше информации о том, что делает Центр обновления Windows?


81

Часто случается так, что мне приходится смотреть этот экран в течение нескольких минут:

введите описание изображения здесь

Я понятия не имею, что происходит сзади. И мне тоже не интересно наблюдать WindowsUpdate.logза изменениями.

Я хотел бы знать, если есть способ, который дает больше отзывов. Желательно что-то, что я могу вызвать из командной строки (например apt-get).


Ответы:


54

В Windows 10 вы можете использовать PSWindowsUpdateмодуль PowerShell.

> Install-Module PSWindowsUpdate
> Get-WindowsUpdate
> Install-WindowsUpdate

введите описание изображения здесь


2
Работает в Windows 7 тоже. :)
Чарльз Бердж

17
Win10 ограничен из-за политики сценариев. Запустите ps-console от имени администратора, Powershell.exe -ExecutionPolicy Unrestrictedзатем выполните указанные команды. Наверное, нужно бежать Import-Module PSWindowsUpdateраньше Get-WindowsUpdate. Эта политика применяется только к этому сеансу PS.
Whoe

Я нашел более разумное ограничение, Set-ExecutionPolicy -ExecutionPolicy RemoteSignedкоторое также является постоянным (входя в объект Local Poilcy) docs.microsoft.com/en-us/powershell/module/…
BaseZen

Это странно На Win8.1 я получаю: Install-Module : The term 'Install-Module' is not recognized...а Get-WindowsUpdate : The term 'Get-WUList' is not recognized....
not2qubit

Не работал в старом PS 5+, но теперь работает в PWSH 6.1.1.
not2qubit

70

Вы можете запустить Центр обновления Windows из командной строки, используя утилиту wuauclt.exe, которая находится в папке% windir% \ system32 \.

Чтобы проверить наличие обновлений,

wuauclt.exe /detectnow

Чтобы проверить и обновить,

wuauclt.exe /detectnow /updatenow

Это не будет работать, если вы установили «Никогда не проверять наличие обновлений» в настройках Центра обновления Windows. Также, вероятно, автоматические обновления должны быть включены для переключения / updatenow (установить обновления).

В версиях Windows до Windows 10 вы также можете запустить графический интерфейс для Центра обновления Windows, введя следующую команду (находится в папке% windir% \ system32 \):

wuapp.exe

Это только открывает приложение обновлений и проверяет доступные обновления, но не устанавливает их. Также, если вы установили «Никогда не проверять наличие обновлений» в настройках Центра обновления Windows, это также не проверяет наличие обновлений, вам придется нажать кнопку «Проверить наличие обновлений».


9
В Windows 7, wuauclt.exeпохоже, не выводит вывод в cmd.
wjandrea

То же самое на W8.1 ... нет выхода
not2qubit

Приводит ли это к отказу от участия в бета-программе в Windows 10 так же, как ручная проверка обновлений? ( digitaltrends.com/computing/windows10-check-for-updates )
метаморфоза

34

Я нашел несколько замечательных советов, когда изучал, как установить обновления Windows на Windows Server 2008 R2 Core .

Одно предложение, которое мне действительно понравилось, это WUA_SearchDownloadInstall.vbsсценарий.

Доступные обновления в списке

введите описание изображения здесь

Обновить установку

введите описание изображения здесь


3
Другим вариантом будет WSUS Offline .
Der Hochstapler

Большой! Просто нужно обновить скрипт, чтобы отключить подсказки, или добавить ключи командной строки.
MarcusUA

Как сказать, в 2018 году (Windows 10 дома) установить обновления, но никогда в 8 утра до 6 вечера?
YumYumYum

11

Вы можете использовать wusa.exeкоторый является частью Windows 7.

Я хотел удалить значок обновления Windows 10 с панели задач, поэтому я написал этот скрипт AutoHotkey, который вызывает wusa .

wusa := "c:\windows\system32\wusa.exe"
runwait %wusa%  /uninstall /kb:2952664 /norestart
runwait %wusa%  /uninstall /kb:3021917    /norestart
runwait, %wusa%  /uninstall /kb:3035583 /norestart
msgbox, okay, all done!`rDon't forget to -hide- the updates now.

Таким образом, вы можете использовать wusa.exeдля управления обновлениями Windows и установки .msuфайлов.

Вот параметры командной строки для wusa: https://support.microsoft.com/en-us/kb/262841

wusa.exe /uninstall /kb:123456 /quiet /norestart
wusa.exe Windows6.1-KB123456-x86.msu /quiet /norestart

На этой странице есть коллекция других способов управления обновлениями из командной строки.

На этой странице объясняется, как работает wusa.exe .

Чтобы увидеть, какие обновления установлены (через командную строку):

systeminfo | find ": KB"

2
Очень жаль, что я здесь смотрю на этот ответ, потому что вредоносная программа, известная как Обновление до Windows 10 , задержала процесс обновления, и я не могу установить обновления безопасности.
jww

Существует несколько причин, по которым обновления Windows могут перестать работать, и я бы с удовольствием ответил на ряд решений, но это не правильная тема ... Достаточно сказать, что в конце концов я хотел автономных обновлений и в конечном итоге сделал это: forums.mydigitallife.info/threads/…, который работает довольно хорошо!
bgmCoder

9

Я использую WuInstall . Это инструмент командной строки для управления обновлениями Windows. У вас есть много отличных опций, таких как отображение хода установки, указание, хотите ли вы перезагрузить компьютер и когда, и файлы журналов доступны для каждого процесса. С уважением


Но это не бесплатно ?????
YumYumYum

4

Windows 10 и Windows Server 2016 или более поздней версии используют USOClient.exe для сканирования, загрузки и установки обновлений.

  • StartScan используется для запуска сканирования
  • StartDownload Используется для запуска загрузки патчей
  • StartInstall Используется для установки загруженных патчей
  • RefreshSettings Обновить настройки, если были внесены какие-либо изменения
  • StartInteractiveScan Может запрашивать ввод данных пользователем и / или открывать диалоги, чтобы показать прогресс или сообщить об ошибках
  • RestartDevice Перезагрузите устройство, чтобы завершить установку обновлений
  • ScanInstallWait Комбинированное сканирование Скачать Установить
  • ResumeUpdate Возобновить Обновление Установка при загрузке

Эквивалент командной строки wuauclt в Windows 10 / Windows Server 2016


2

Основываясь на ответе от kizzx2, я создал два однострочника для командной строки.

Запустите следующий код из командной строки с повышенными правами.

Установка модуля обновления:

Powershell.exe -ExecutionPolicy Unrestricted -command "Install-Module PSWindowsUpdate -force"

Выполнение обновления из командной строки:

Powershell.exe -ExecutionPolicy Unrestricted -command "Import-Module PSWindowsUpdate; Get-WindowsUpdate; Install-WindowsUpdate"

Кроме того, вы можете добавить опции -AcceptAllи -AutoRebootв Install-WindowsUpdateкоманду.


Приводит ли это к отказу от участия в бета-программе в Windows 10 так же, как ручная проверка обновлений? (digitaltrends.com/computing/windows10-check-for-updates)
метаморфоза

0

Самый простой и надежный способ, который я нашел, - это вызов COM-объекта из PowerShell.

$autoUpdate = New-Object -ComObject Microsoft.Update.AutoUpdate
$autoUpdate.DetectNow()

Другие методы объекта, похоже, ничего не делают в Windows 10. См. Также:
https://docs.microsoft.com/en-us/windows/desktop/api/wuapi/nn-wuapi-iautomaticupdates.

Если вы не хотите использовать PowerShell, вы можете запустить

C:\Windows\System32\UsoClient.exe StartScan

прямо из командной строки.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.