Чи можу я отримати більше інформації про те, що робить оновлення Windows?


81

Часто трапляється так, що мені доводиться дивитися цей екран протягом хвилин:

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

У мене немає поняття, що відбувається ззаду. І мені також не цікаво спостерігати WindowsUpdate.logза змінами.

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


Це може застосовуватися, коли Get Windows 10 викрадає процес оновлення. Див. Як встановити оновлення безпеки після викрадення оновлення Windows "Оновлення до Windows 10"?
jww

Відповіді:


54

У Windows 10 можна використовувати PSWindowsUpdateмодуль PowerShell.

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

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


2
Працює і в Windows 7. :)
Чарльз Бердже

17
Win10 обмежений через політику сценарію. Запустіть ps-консоль як адміністратор, Powershell.exe -ExecutionPolicy Unrestrictedпотім запустіть задані команди. Напевно, потрібно бігти Import-Module PSWindowsUpdateраніше Get-WindowsUpdate. Ця політика стосується лише цього сеансу ПС.
Кому

Я виявив більш обмежувальний, 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 Update з панелі завдань, тому написав цей сценарій 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.