Windows güncellemelerini komut satırından yüklemek mümkün müdür? Grafik güncelleme aracı Windows 7'de çok iyi çalışmıyor gibi görünüyor. Bazen çalışıyor, bazen çalışmıyor ... Sorunum, ayrıntılar listesini görmek için tıkladığımda herhangi bir güncelleme göremiyorum. Bu nedenle, varsayılan olarak işaretlenmemiş güncellemeler olduğunda, bunları yükleyemiyorum ...
Bunları kurmanın başka bir yolu var mı?
Windows 7'den emin değilsiniz, ancak XP/Vista ile, güncellemeleri algılamak ve indirmek için aşağıdaki komutu çalıştırabilirsiniz:
wuauclt /detectnow /reportnow
Çalıştırırken sorun yaşıyorsanız WSUS Wiki adresine bakın.
Aksi takdirde, istediğiniz belirli bir güncelleştirmeniz varsa, Microsoft web sitesinden indirmeniz yeterlidir. Yüklemenizi engelleyen bir sorun varsa, Windows Update günlüklerinin üstesinden gelmek zor olduğundan, bunu öğrenmenin en iyi yolu budur.
Güncellemeleri eşzamanlı olarak kontrol etmek, indirmek ve yüklemek için bir komut dosyası kullanabilirsiniz. Sık sık Windows Core sunucuları el ile yama için bu vbscript değiştirilmiş bir sürümünü kullanın.
Set updateSession = CreateObject("Microsoft.Update.Session")
updateSession.ClientApplicationID = "MSDN Sample Script"
Set updateSearcher = updateSession.CreateUpdateSearcher()
WScript.Echo "Searching for updates..." & vbCRLF
Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")
WScript.Echo "List of applicable items on the machine:"
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> " & update.Title
Next
If searchResult.Updates.Count = 0 Then
WScript.Echo "There are no applicable updates."
WScript.Quit
End If
WScript.Echo vbCRLF & "Creating collection of updates to download:"
Set updatesToDownload = CreateObject("Microsoft.Update.UpdateColl")
For I = 0 to searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
addThisUpdate = false
If update.InstallationBehavior.CanRequestUserInput = true Then
WScript.Echo I + 1 & "> skipping: " & update.Title & _
" because it requires user input"
Else
If update.EulaAccepted = false Then
WScript.Echo I + 1 & "> note: " & update.Title & _
" has a license agreement that must be accepted:"
WScript.Echo update.EulaText
WScript.Echo "Do you accept this license agreement? (Y/N)"
strInput = WScript.StdIn.Readline
WScript.Echo
If (strInput = "Y" or strInput = "y") Then
update.AcceptEula()
addThisUpdate = true
Else
WScript.Echo I + 1 & "> skipping: " & update.Title & _
" because the license agreement was declined"
End If
Else
addThisUpdate = true
End If
End If
If addThisUpdate = true Then
WScript.Echo I + 1 & "> adding: " & update.Title
updatesToDownload.Add(update)
End If
Next
If updatesToDownload.Count = 0 Then
WScript.Echo "All applicable updates were skipped."
WScript.Quit
End If
WScript.Echo vbCRLF & "Downloading updates..."
Set downloader = updateSession.CreateUpdateDownloader()
downloader.Updates = updatesToDownload
downloader.Download()
Set updatesToInstall = CreateObject("Microsoft.Update.UpdateColl")
rebootMayBeRequired = false
WScript.Echo vbCRLF & "Successfully downloaded updates:"
For I = 0 To searchResult.Updates.Count-1
set update = searchResult.Updates.Item(I)
If update.IsDownloaded = true Then
WScript.Echo I + 1 & "> " & update.Title
updatesToInstall.Add(update)
If update.InstallationBehavior.RebootBehavior > 0 Then
rebootMayBeRequired = true
End If
End If
Next
If updatesToInstall.Count = 0 Then
WScript.Echo "No updates were successfully downloaded."
WScript.Quit
End If
If rebootMayBeRequired = true Then
WScript.Echo vbCRLF & "These updates may require a reboot."
End If
WScript.Echo vbCRLF & "Would you like to install updates now? (Y/N)"
strInput = WScript.StdIn.Readline
WScript.Echo
If (strInput = "Y" or strInput = "y") Then
WScript.Echo "Installing updates..."
Set installer = updateSession.CreateUpdateInstaller()
installer.Updates = updatesToInstall
Set installationResult = installer.Install()
'Output results of install
WScript.Echo "Installation Result: " & _
installationResult.ResultCode
WScript.Echo "Reboot Required: " & _
installationResult.RebootRequired & vbCRLF
WScript.Echo "Listing of updates installed " & _
"and individual installation results:"
For I = 0 to updatesToInstall.Count - 1
WScript.Echo I + 1 & "> " & _
updatesToInstall.Item(i).Title & _
": " & installationResult.GetUpdateResult(i).ResultCode
Next
End If
Bunun için bir cazibe gibi görünüyor ama tabii ki Windows 7 altında test etmedim. Gerekirse belirli bir güncellemeyi hedeflemek için başka bir makaleye de bağlantı vardır.
Benzer bir deneyimi ortaya koyan bir Powershell modülü vardır.
Hızlı bir bakıştan sonra güncelleme API'sını da kullanan bu üçüncü taraf uygulaması buldum, ancak bazı daha fazla seçenekle (üçüncü taraf koduna güvenmenizi gerektiriyor olsa da).
Komut Satırından Windows Update:
www.sysadminsoftware.com/udc.html
Araç (Güncelleştirme Dağıtım Komutanı) tam olarak istediğinizi yapabilir. Ayrıca belirli yamalardan kaçınmak, belirli güncellemeleri hedeflemek, tamamladıktan N dakika sonra yeniden başlatmak, CSV'de raporlar oluşturmak vb. İçin parametreler de iletebilirsiniz. Birkaç GUI yardımcı programı ile birlikte gelir.
Windows işletim sistemlerini, özellikle yeni yüklemelerden sonra düzeltmeniz gerekiyorsa, Offline Updater konusuna ciddi bir göz atın.
Önerdiğiniz tüm yamaları indirmek için komut dosyaları kullanır (böylece Win2000, Win XP, Win 2003, Vista, Win2008, Win2012 32 ve 64 bit uygunsa), çoklu dil, hizmet paketleri, .NET çerçeveleri ve Office yamaları (XP, 2000 , 2003, 2007).
Hepsini indirdikten sonra, her yamayı Salı güncellendi ve sadece değişiklikleri aldın. Kataloğu alır ve her gün daha uzun sürüyor olsa da (şimdi OS/Office devir başına birçok mega).
Yerel makinenizdeki dosyaları indirdikten sonra, bunların CD/DVD görüntülerini yapmak için bir komut dosyası vardır (isterseniz bunu otomatik olarak işletim sistemi başına DVD görüntüleri için yapacak).
Benim yaptığım, yazmaya karşı koruma sekmesini onurlandıran bir SD kart okuyucusunda 4GB SD bellek kartı kullanmak. Eskiden 2GB kartlar kullanıyordum, ancak Win XP ve Office'in çoğu şu anda bu kartın üzerine sığabiliyor, bu yüzden 4GB kartlara geçtim.
Bu nedenle, bir makinede sorun giderirken, cihazımın yazmaya karşı korumalı olduğunu bilerek, daha önce yazılabilir bu cihazı güvenilmeyen, muhtemelen virüs bulaşmış bir makineye yerleştirmeye güveniyorum (bu konuda hiçbir şey bilmediğim için, virüslü olduğunu varsayıyorum).
Böylece ilk adım olarak bugüne kadar yama yapabilirim.
Otomatik çalıştırma özelliğini kullanır veya yürütülebilir dosyayı aygıtta başlatırsanız (anahtar, harici HD, CD, DVD, yazdığınız her yerde), tüm güncelleştirmeleri uygulamak için yerel makinedeki Windows Update hizmetini kullanan bir komut dosyası başlatır, ancak bunun yerine onları indirmek için tel üzerinden gitmek sadece yerel kopyasını kullanır.
Bu nedenle, bir WinXP makinesini en son SP ve yamalara güncellemek 1 saatten fazla sürebilir, ancak yol boyunca sıfır ağ trafiği vardır ve bunu tamamen takılı olmayan Ethernet kablosuyla yapabilirsiniz .
İnanılmaz kullanışlı bir araç!
Önceden bir yama CD'si oluşturmuş olan AutoUpdate adamları CD görüntüsünü dağıtan Microsoft gibi bir afoul çalışmamalıdır. Bu araç komut dosyalarını günceller ve lisanslı Windows iş istasyonunuzdaki tüm düzeltme eklerini almanız gerekir.
Şu anda ayrı bir cevap olarak answer by duffbeer7 için bir yorum ekleyemiyorum:
İnternet Arşivinde arşivlendiği şekliyle WSUSwiki'ye bağlantının son "iyi" sürümü this . Orijinal cevapta verilen seçenekler bu SSS girişi bölümünde açıklanmıştır.