Bagaimana cara memaksa Windows untuk memeriksa pembaruan?

25

Setelah instalasi Windows baru - XP atau 7 - bagaimana saya bisa "memaksa" pembaruan Windows?

Saya tidak ingin memiliki pembaruan Windows "lama" setelah seminggu, jadi mungkinkah itu dilakukan dalam "satu langkah"? Apakah ada perintah "ajaib" yang memaksa Windows memeriksa pembaruan, dan jika ada, instal?

LanceBaynes
sumber

Jawaban:

12

Anda dapat memeriksa dan menginstal pembaruan secara otomatis menggunakan skrip. Ini akan bekerja di XP atau Windows 7.

Ada sejumlah skrip yang tersedia untuk diunduh, ini milik saya :

' 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 

Anda menjalankan ini dari baris perintah seperti ini:

cscript wsusupdate.vbs

Skrip saya hanya berfungsi minimal tetapi mungkin masih berguna. Ada skrip lain yang tersedia dengan banyak fitur tambahan, coba pencarian Google.

Harry Johnston
sumber
Saya akan mencoba yang ini! Sementara itu, adakah yang punya pengalaman dengan skrip ini?
LanceBaynes
Script ini keluar bersama <59, 3> <null>: 0x80240044. Adakah yang tahu mengapa ini gagal? Saya sudah mencoba mencari metode yang referensi ini, tetapi saya tidak tahu apa yang terjadi. Bisakah Anda mengarahkan saya ke arah yang benar?
daviesgeek
@daviesgeek: 0x80240044 adalah WU_E_PER_MACHINE_UPDATE_ACCESS_DENIED yaitu, Anda harus menjalankan skrip dengan izin yang lebih tinggi.
Harry Johnston
Terima kasih. Bagaimana cara saya meningkatkan izin dari baris perintah? (maaf, saya seorang guru Linux, bukan orang Windows ...)
daviesgeek
1
Vista / Win7: Buka Start Menu, ketik cmd dan tekan control-shift-ENTER bukan hanya ENTER. Pada Windows 8 saya pikir tombol pintas Windows-X menampilkan menu yang mencakup baris perintah administratif. Atau di sistem mana pun Anda dapat menemukan cmd.exe melalui Explorer, klik kanan dan pilih Run As Administrator.
Harry Johnston
41

Di luar cara biasa menggunakan Pembaruan Windows, Anda bisa memaksa cek dari baris perintah.

Buka prompt perintah administrator dan jalankan:

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

Wuauclt.exe adalah Klien Pemutakhiran Otomatis Pembaruan Windows dan digunakan untuk memeriksa pembaruan yang tersedia (untuk berbagai versi platform MS Windows) dari Pembaruan Microsoft.

Ini tidak akan memaksa instalasi.

Ƭᴇcʜιᴇ007
sumber
1
Hanya untuk menambahkan: ini bekerja pada XP, Vista dan 7 juga
Luke Kanada REINSTATE MONICA
@ Lukas Bekerja untuk Windows 2000 SP4 juga. :)
Ƭᴇcʜιᴇ007
1
Namun, untuk pemasangan baru, Anda sebaiknya memeriksa pembaruan melalui GUI (untuk Windows Vista +) atau webiste Pembaruan Windows (Pra-Vista). Saya pikir ini akan memberikan proses pengunduhan prioritas yang lebih tinggi. Secara default, BITS hanya akan mengunduh pembaruan saat koneksi jaringan tidak sibuk.
billc.cn
2
Versi singkat akan menjadi kunci Windows + R dan kemudian ketik wuauclt / detectnow dan kemudian tekan enter.
Steve Rathbone
5

UNTUK memeriksa pembaruan, buka Panel Kontrol, Keamanan, Pembaruan Windows, lalu klik "Periksa pembaruan."

masukkan deskripsi gambar di sini

surfasb
sumber
dan di WinXP? :)
LanceBaynes
Di Windows XP, tekan Mulai-> Semua Program -> (Windows | Microsoft) Perbarui dan lakukan pencarian otomatis atau manual.
Jens Erat
1
Ini bukan untuk winXP
M. CA
2

Cara lain untuk memaksa pemindaian ulang yang benar untuk pembaruan adalah dengan menghapus papan tulis, dengan menghapus semua pembaruan yang disimpan dalam % windir% \ Windows \ SoftwareDistribution \ Unduh :

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

Lalu pergi ke Pembaruan Windows, dan "Periksa pembaruan". Mungkin butuh satu jam, karena setiap file yang dapat diperbarui pada volume sistem Anda diperiksa ("Periksa pembaruan" selanjutnya akan cepat). Pendekatan ini menghilangkan kesalahan, pembaruan yang gagal, dan menghasilkan sistem yang bersih dan mutakhir, setidaknya sejauh yang dilihat MS.

raja
sumber
Terima kasih, jawaban yang bagus! Saya mencari sesuatu yang lebih kuat dari jawaban lainnya. Penginstalan Windows 10 saya gagal, dan pembaruan tampaknya tidak lagi terjadi. Saya perlu memaksanya untuk memperbarui, semoga ini berhasil.
AzP
1

saya menggunakan alat pihak kedua yang disebut wuinstall untuk memperbarui instalasi windows baru. dengan itu Anda dapat mengotomatiskan seluruh proses pembaruan, termasuk reboot otomatis. saya pikir ini adalah salah satu cara tercepat untuk mendapatkan windows baru yang terbaru tanpa kehadiran pengguna.

hansi
sumber
0

Saya telah menemukan bahwa jika, sebagai bagian dari instalasi baru Anda pada Windows 7, Anda meningkatkan IE atau Anda belum menjalankan IE dan menjawab pertanyaan pengantar, bahwa Pembaruan Windows akan memberi Anda kesalahan. Saya juga belum menemukan cara untuk mengganti Pembaruan Windows ke Pembaruan Microsoft tanpa melalui GUI, jadi saya menjalankan IE secara manual, mendapatkannya diinisialisasi dan kemudian mengatur Pembaruan Windows melalui GUI, sehingga saya dapat beralih ke Pembaruan Microsoft dan menghindari kesalahan awal. Jarak tempuh Anda mungkin beragam.

Kent
sumber
0

Saya berhasil mengikuti langkah-langkah pada posting ini , dengan menginstal IE8 & WI4.5 , itu akan memicu pembaruan otomatis untuk memulai unduhan.

checksum
sumber