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

81

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

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

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

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

Der Hochstapler
источник
Это может применяться, когда Get Windows 10 захватывает процесс обновления. См. Как установить обновления безопасности после того, как «Обновление до Windows 10» захватывает Центр обновления Windows?
jww

Ответы:

54

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

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

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

kizzx2
источник
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, это также не проверяет наличие обновлений, вам придется нажать кнопку «Проверить наличие обновлений».

ePandit
источник
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сценарий.

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

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

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

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

Der Hochstapler
источник
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"
bgmCoder
источник
2
Очень жаль, что я здесь смотрю на этот ответ, потому что вредоносная программа, известная как Обновление до Windows 10 , задержала процесс обновления, и я не могу установить обновления безопасности.
jww
Существует несколько причин, по которым обновления Windows могут перестать работать, и я бы с удовольствием ответил на ряд решений, но это не правильная тема ... Достаточно сказать, что в конце концов я хотел автономных обновлений и в конечном итоге сделал это: forums.mydigitallife.info/threads/…, который работает довольно хорошо!
bgmCoder
9

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

smihi19
источник
Но это не бесплатно ?????
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

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

oleschri
источник