Windows'u güncelleştirmeleri denetlemeye nasıl zorlarım?


25

Yeni bir Windows kurulumundan sonra - XP veya 7 - Windows güncellemelerini nasıl "zorlayabilirim"?

Bir hafta sonra "eski" Windows güncellemelerinin olmasını istemiyorum, bu yüzden "bir adımda" yapılabilir mi? Windows'u güncelleştirmeleri denetlemeye ve varsa bunları yüklemeye zorlayan herhangi bir "sihirli" komut var mı?

Yanıtlar:


12

Bir komut dosyası kullanarak güncellemeleri otomatik olarak kontrol edebilir ve yükleyebilirsiniz. Bu, XP veya Windows 7'de çalışacaktır.

İndirilebilecek bir dizi komut dosyası var, işte benim :

' 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 

Bunu aşağıdaki gibi komut satırından çalıştırıyorsunuz:

cscript wsusupdate.vbs

Senaryom sadece minimal düzeyde işlevseldir ancak yine de faydalı olabilir. Pek çok ek özelliğe sahip başka tür komut dosyaları da var, bir Google araması deneyin.


Bunu deneyeceğim! Bu arada, bu senaryo ile ilgili herhangi bir deneyimi olan var mı?
LanceBaynes

Bu senaryo ile çıkar <59, 3> <null>: 0x80240044. Bunun neden başarısız olduğu hakkında bir fikrin var mı? Bu başvuruda bulunulan yöntemleri aramayı denedim, ancak neler olduğunu çözemedim. Beni doğru yöne çevirebilir misin?
daviesgeek

@ daviesgeek: 0x80240044 WU_E_PER_MACHINE_UPDATE_ACCESS_DENIED, yani komut dosyasını yükseltilmiş izinlerle çalıştırmanız gerekir.
Harry Johnston,

Ah teşekkürler. İzinleri komut satırından nasıl yükseltebilirim? (üzgünüm, ben bir Linux gurusu değilim, Windows çalışanı değilim ...)
daviesgeek

1
Vista / Win7: Başlat Menüsünü açın, cmd yazın ve sadece ENTER yerine control-shift-ENTER tuşlarına basın. Windows 8'de Windows-X kısayol tuşunun yönetimsel bir komut satırı içeren bir menü getirdiğini düşünüyorum. Veya her iki sistemde cmd.exe'yi Explorer aracılığıyla bulabilirsiniz, sağ tıklayın ve Yönetici Olarak Çalıştır'ı seçin.
Harry Johnston

41

Windows Update'i kullanmanın genel yolunun ötesinde, bir komut satırından denetimi zorlayabilirsiniz.

Bir yönetici komut istemi açın ve çalıştırın:

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

Wuauclt.exe, Windows Update'in Otomatik Güncelleştirme İstemcisidir ve Microsoft Update'ten kullanılabilir güncellemeleri (MS Windows platformunun çeşitli sürümleri için) kontrol etmek için kullanılır.

Bu bir yüklemeyi zorlamaz.


1
Sadece eklemek için: Bu hem XP, Vista ve 7 hem de çalışır
Kanadalı Luke REINSTATE MONICA

@Luke Windows 2000 SP4 için de çalışır. :)
Ƭᴇcʜιᴇ007

1
Ancak, yeni bir kurulum için, GUI (Windows Vista + için) veya Windows Update webiste (Pre-Vista) aracılığıyla güncellemeleri kontrol etmelisiniz. Bunun indirme işlemine daha yüksek öncelik vereceğini düşünüyorum. Varsayılan olarak BITS, yalnızca ağ bağlantısı meşgul olmadığında güncelleme indirir.
billc.cn

2
Bir kestirme sürüm Windows tuşu + R olacaktır ve daha sonra wuauclt / detectornow yazıp enter tuşuna basınız.
Steve Rathbone

5

Güncellemeleri kontrol etmek için Denetim Masası, Güvenlik, Windows Update'e gidin ve ardından "Güncellemeleri kontrol et" i tıklayın.

görüntü tanımını buraya girin


ve winXP'de? :)
LanceBaynes

Windows XP'de Başlat -> Tüm Programlar -> (Windows | Microsoft) tuşlarına basın. Otomatik veya el ile arama yapın.
Jens Erat

1
Bu winXP için değil
CA 2

2

Güncellemeler için gerçek bir yeniden taramaya zorlamanın başka bir yolu, % windir% \ Windows \ SoftwareDistribution \ Download : 'da depolanan tüm güncellemeleri silerek listeyi temizlemektir.

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

Sonra Windows Update'e gidin ve "Güncellemeleri kontrol et". Sisteminizdeki her güncellenebilir dosya kontrol edildiğinden bir saat sürebilir (daha sonra "Güncellemeleri kontrol et" hızlı olacaktır). Bu yaklaşım hataları ortadan kaldırır, güncellemeleri durdurur ve en azından MS'nin gördüğü kadar temiz, güncel bir sistem sunar.


Teşekkürler, harika cevap! Diğer cevaplardan daha güçlü bir şey arıyordum. Windows 10 yüklemem bir şekilde engelleniyor ve güncellemeler artık gelmiyor. Güncellemesi için buna zorlamalıyım, umarım bu işe yarar.
AzP

1

yeni windows yüklemesini güncellemek için wuinstall adında ikinci bir parti aracı kullanıyorum . Bununla, otomatik yeniden başlatmalar da dahil olmak üzere tüm güncelleme işlemini otomatikleştirebilirsiniz. Kullanıcı katılımı olmadan güncel bir pencereyi güncellemenin en hızlı yollarından biri olduğunu düşünüyorum.


0

Windows 7'deki yeni yüklemenizin bir parçası olarak, IE'yi yükselttiyseniz veya henüz IE çalıştırmadıysanız ve tanıtım sorularını cevapladıysanız, Windows Update'in size bir hata vereceğini gördüm. Ayrıca, GUI'den geçmeden Windows Update'i Microsoft Update'e geçirmenin bir yolunu bulamadım, bu yüzden IE'yi manuel olarak ateşledim, başlattım ve ardından GUI üzerinden Windows Update'i ayarlıyorum, böylece Microsoft Update'e geçebilir ve ilk hata. Kilometreniz değişebilir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.