24

После новой установки Windows - XP или 7 - как я могу "форсировать" обновления Windows?

Я не хочу иметь "старые" обновления Windows через неделю, поэтому можно ли это сделать "за один шаг"? Существуют ли какие-либо "магические" команды, которые заставляют Windows проверять наличие обновлений, и, если они есть, устанавливают их?

7 ответов7

39

Помимо обычного способа использования Центра обновления Windows, вы можете принудительно выполнить проверку из командной строки.

Откройте командную строку администратора и запустите:

C:\> %windir%\system32\wuauclt.exe /detectnow

Wuauclt.exe является клиентом автообновления Центра обновления Windows и используется для проверки доступных обновлений (для различных версий платформы MS Windows) из Центра обновления Майкрософт.

Это не заставит установку.

12

Вы можете проверить и установить обновления автоматически, используя скрипт. Это будет работать в XP или Windows 7.

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

' Written in 2007 by Harry Johnston, University of Waikato, New Zealand.
' This code has been placed in the public domain.  It may be freely
' used, modified, and distributed.  However it is provided with no
' warranty, either express or implied.
'
' Exit Codes:
'   0 = scripting failure
'   1 = error obtaining or installing updates
'   2 = installation successful, no further updates to install
'   3 = reboot needed; rerun script after reboot
'
' Note that exit code 0 has to indicate failure because that is what
' is returned if a scripting error is raised.
'

Set updateSession = CreateObject("Microsoft.Update.Session")

Set updateSearcher = updateSession.CreateUpdateSearcher()
Set updateDownloader = updateSession.CreateUpdateDownloader()
Set updateInstaller = updateSession.CreateUpdateInstaller()

Do

  WScript.Echo
  WScript.Echo "Searching for approved updates ..."
  WScript.Echo

  Set updateSearch = updateSearcher.Search("IsInstalled=0")

  If updateSearch.ResultCode <> 2 Then

    WScript.Echo "Search failed with result code", updateSearch.ResultCode
    WScript.Quit 1

  End If

  If updateSearch.Updates.Count = 0 Then

    WScript.Echo "There are no updates to install."
    WScript.Quit 2

  End If

  Set updateList = updateSearch.Updates

  For I = 0 to updateSearch.Updates.Count - 1

    Set update = updateList.Item(I)

    WScript.Echo "Update found:", update.Title

  Next

  WScript.Echo

  updateDownloader.Updates = updateList
  updateDownloader.Priority = 3

  Set downloadResult = updateDownloader.Download()

  If downloadResult.ResultCode <> 2 Then

    WScript.Echo "Download failed with result code", downloadResult.ResultCode
    WScript.Echo

    WScript.Quit 1

  End If

  WScript.Echo "Download complete.  Installing updates ..."
  WScript.Echo

  updateInstaller.Updates = updateList

  Set installationResult = updateInstaller.Install()

  If installationResult.ResultCode <> 2 Then

    WScript.Echo "Installation failed with result code", installationResult.ResultCode

    For I = 0 to updateList.Count - 1

      Set updateInstallationResult = installationResult.GetUpdateResult(I)
      WScript.Echo "Result for " & updateList.Item(I).Title & " is " & installationResult.GetUpdateResult(I).ResultCode

    Next

    WScript.Quit 1

  End If

  If installationResult.RebootRequired Then

    WScript.Echo "The system must be rebooted to complete installation."

    WScript.Quit 3

  End If

  WScript.Echo "Installation complete."

Loop 

Вы запускаете это из командной строки следующим образом:

cscript wsusupdate.vbs

Мой сценарий только минимально функционален, но все еще может быть полезен. Существуют и другие подобные скрипты со многими дополнительными функциями, попробуйте поиск в Google.

5

Чтобы проверить наличие обновлений, перейдите в Панель управления, Безопасность, Центр обновления Windows, затем нажмите «Проверить наличие обновлений».

2

Еще один способ принудительно выполнить повторное сканирование обновлений - очистить список, удалив все обновления, хранящиеся в папке % windir%\Windows\SoftwareDistribution\Download:

    NET STOP wuauserv
    RD /S /Q %windir%\SoftwareDistribution\Download
    NET START wuauserv

Затем перейдите в Центр обновления Windows и выберите "Проверить наличие обновлений". Это может занять час, потому что проверяется каждый обновляемый файл на системном томе (последующие "Проверки обновлений" будут быстрыми). Этот подход устраняет ошибки, неудачные обновления и дает чистую, современную систему, по крайней мере, насколько MS это видит.

1

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

0

Я обнаружил, что если в ходе вашей новой установки на Windows 7 вы обновили IE или еще не запускали IE и ответили на вводные вопросы, то Центр обновления Windows выдаст вам ошибку. Я также не нашел способа переключить Центр обновления Windows на Центр обновления Майкрософт без прохождения через графический интерфейс, поэтому я вручную запускаю IE, инициализирую его, а затем настраиваю Центр обновления Windows через графический интерфейс, чтобы я мог переключиться на Центр обновления Майкрософт и избежать первоначальная ошибка Ваш пробег может отличаться.

0

Я успешно выполнил следующие действия, описанные в этом посте, установив IE8 и WI4.5, он будет запускать автоматические обновления для начала загрузки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .