कमांड-लाइन से विंडोज अपडेट कैसे स्थापित करें


17

क्या कमांड-लाइन से विंडोज़ अपडेट स्थापित करना संभव है? विंडोज 7 में ग्राफिकल अपडेट टूल इतनी अच्छी तरह से काम नहीं करता है। कभी-कभी ऐसा होता है, कभी-कभी ऐसा नहीं होता ... मेरी समस्या यह है कि जब मैं विवरण सूची देखने के लिए क्लिक करता हूं तो मुझे कोई अपडेट नहीं दिखाई देता। इसलिए जब ऐसे अपडेट होते हैं जिन्हें डिफ़ॉल्ट रूप से चेक नहीं किया जाता है, तो मैं उन्हें स्थापित नहीं कर सकता ...

तो, क्या कोई दूसरा तरीका है जिससे मैं उन्हें स्थापित कर सकूं?

जवाबों:


12

विंडोज 7 के बारे में निश्चित नहीं है, लेकिन XP / Vista के साथ, आप अपडेट का पता लगाने और डाउनलोड करने के लिए निम्न कमांड चला सकते हैं:

wuauclt /detectnow /reportnow

यदि आपके पास इसे काम करने के लिए समस्याएँ हैं, तो WSUS विकी देखें

अन्यथा यदि आपके पास एक विशिष्ट अपडेट है जो आप चाहते हैं, तो बस Microsoft वेबसाइट से डाउनलोड करें। यदि आपको स्थापित करने से रोकने में कुछ समस्या है, तो यह पता लगाने का सबसे अच्छा तरीका है, क्योंकि विंडोज अपडेट लॉग से निपटने के लिए ईश्वरीय हैं।


1
मुझे नहीं लगता कि लिंक अब मान्य है।
नताली एडम्स

Windows 8.1 या Windows Server 2012 पर मेरे लिए नहीं काम करता है
न्यू एवरेस्ट

आपके द्वारा दिया गया कमांड अपडेट के लिए जाँच करेगा और WSUS सर्वर को अद्यतन स्थिति की रिपोर्ट करेगा। यह किसी भी अद्यतन को स्वीकृत, डाउनलोड या स्थापित नहीं करता है। आपको उपलब्ध अद्यतनों की एक संख्या को लागू करने के लिए / updatenow पैरामीटर को जोड़ना होगा।
duct_tape_coder 15

नोट का भी, Win10 / 2016 में, wuauclt कमांड usoclient के पक्ष में पदावनत है, देखें omgdebugging.com/2017/10/09/……
duct_tape_coder

4

आप एक स्क्रिप्ट का उपयोग कर सकते हैं के लिए जाँच, डाउनलोड और तुल्यकालिक रूप से अद्यतन स्थापित करें। मैं अक्सर विंडोज कोर सर्वर के मैनुअल पैचिंग के लिए इस vbscript के संशोधित संस्करण का उपयोग करता हूं ।

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

यह उसके लिए एक आकर्षण की तरह काम करता है, लेकिन मैंने विंडोज 7 के तहत इसका परीक्षण नहीं किया है। यदि आवश्यक हो तो किसी विशिष्ट अद्यतन को लक्षित करने के लिए एक अन्य लेख का लिंक भी है।

एक पॉवर्सशेल मॉड्यूल भी है जो एक समान अनुभव को उजागर करता है।

एक त्वरित नज़र के बाद मुझे यह थर्ड पार्टी एप्लिकेशन भी मिला जो अपडेट एपीआई का उपयोग करता है, लेकिन कुछ और विकल्पों के साथ (हालांकि आपको तीसरे पक्ष के कोड पर भरोसा करने की आवश्यकता है)।


2

कमांड लाइन से विंडोज अपडेट:

www.sysadminsoftware.com/udc.html

टूल (अपडेट्स डिप्लॉयमेंट कमांडर) वही कर सकता है जो आप पूछ रहे हैं। आप कुछ पैच से बचने के लिए पैरामीटर भी पास कर सकते हैं, विशिष्ट अपडेट्स को टारगेट कर सकते हैं, पूरा करने के बाद एन मिनट रिबूट कर सकते हैं, सीएसवी में रिपोर्ट बना सकते हैं, और इसी तरह .. यह जीयूआई उपयोगिताओं के एक जोड़े के साथ आता है।


2

यदि आपको विंडोज ऑपरेटिंग सिस्टम को पैच करना है, तो ताजा इंस्टॉल के बाद, ऑफलाइन अपडेटर पर एक गंभीर नज़र डालें ।

यह आपके द्वारा सुझाए गए सभी पैच डाउनलोड करने के लिए स्क्रिप्ट का उपयोग करता है (इसलिए Win2000, Win XP, Win 2003, Vista, Win2008, Win2012 32 और 64 बिट जहां उपयुक्त है), बहु भाषा, सर्विस पैक, .NET फ्रेमवर्क और ऑफिस पैच (XP, 2000) , 2003, 2007)।

एक बार जब आप उन सभी को डाउनलोड कर लेते हैं, तो आप हर पैच मंगलवार को अपडेट करते हैं, और केवल परिवर्तन प्राप्त करते हैं। हालांकि यह उत्प्रेरकों को प्राप्त करता है और वे हर दिन लंबे हो रहे हैं (कई megs अब प्रति OS / ऑफिस रेव)।

एक बार जब आपके पास आपके स्थानीय मशीन पर फ़ाइलें डाउनलोड हो जाती हैं, तो उनमें से सीडी / डीवीडी चित्र बनाने के लिए एक स्क्रिप्ट होती है (यह स्वचालित रूप से प्रति ओएस पर डीवीडी छवियों के लिए होगा यदि आप चाहें)।

जो मैं करता हूं वह 4 जीबी एसडी मेमोरी कार्ड का उपयोग करता है, एसडी कार्ड रीडर में जो राइट प्रोटेक्ट टैब को सम्मानित करता है। मैं 2GB कार्ड का उपयोग करता था, लेकिन मैं अभी विन XP को मुश्किल से फिट कर सकता हूं और अधिकांश कार्यालय अब इस पर बनाता है, इसलिए मैं 4GB कार्ड पर चला गया।

इस प्रकार जब मशीन में समस्या आती है, तो मुझे विश्वास है कि यह पूर्व में लिखी गई डिवाइस को एक अविश्वसनीय, संभवतः वायरस से संक्रमित मशीन में डालना (क्योंकि मुझे इसके बारे में कुछ नहीं पता है, मुझे लगता है कि यह संक्रमित है) मेरे डिवाइस को सुरक्षित लिखा हुआ है।

इस प्रकार मैं इसे पहले चरण के रूप में अद्यतित कर सकता हूं।

यदि आप ऑटोरन का उपयोग करते हैं, या डिवाइस पर निष्पादन योग्य लॉन्च करते हैं (कुंजी, बाहरी एचडी, सीडी, डीवीडी, जहां भी आपने इसे लिखा है) यह एक स्क्रिप्ट शुरू करता है जो सभी अपडेट को लागू करने के लिए स्थानीय मशीन पर विंडोज अपडेट सेवा का उपयोग करता है, लेकिन इसके बजाय तार को पार करने के लिए उन्हें डाउनलोड करने के लिए यह सिर्फ स्थानीय प्रतिलिपि का उपयोग करता है।

इस प्रकार नवीनतम SPP और पैच के लिए WinXP मशीन को अपडेट करने में अभी भी 1+ घंटे का समय लग सकता है, लेकिन रास्ते में शून्य नेटवर्क ट्रैफ़िक है, और आप इसे ईथरनेट केबल के साथ पूरी तरह से अनप्लग कर सकते हैं।

आश्चर्यजनक उपयोगी उपकरण!

Microsoft से दूर नहीं चलना चाहिए, जैसे AutoUpdate लोग थे, जो एक पैच सीडी का निर्माण कर रहे थे, जिसने सीडी की छवि को वितरित किया। यह टूल स्क्रिप्ट्स को अपडेट करता है, और आपको अपने लाइसेंस प्राप्त विंडोज वर्कस्टेशन पर सभी पैच प्राप्त करने होंगे।


1

मैं वर्तमान में duffbeer703 द्वारा उत्तर में एक टिप्पणी नहीं जोड़ सकता , इसलिए यहां एक अलग उत्तर के रूप में:

पिछले "अच्छा" WSUSwiki के लिए लिंक के रूप में इंटरनेट का संग्रह पर संग्रहीत संस्करण है यह । मूल उत्तर में दिए गए विकल्प इस FAQ प्रविष्टि में वर्णित हैं ।


क्या आप इस बात से अवगत हैं कि टिप्पणी करने का विशेषाधिकार प्राप्त करने के लिए प्रतिष्ठा के बिंदुओं को "थोड़ा" अर्जित करने में क्या लगता है? बस कुछ (प्रासंगिक) संपादन सुझाएं। अगर वे स्वीकृत हो जाते हैं तो आपको उनमें से प्रत्येक के लिए +2 प्रतिनिधि मिलेगा ... यह कोशिश करो!
पियरे.विरेंस

-2

मुझे विश्वास नहीं है, विंडोज अपडेट को ठीक से काम करने के लिए इंटरनेट एक्सप्लोरर के साथ कुछ ActiveX और अन्य एकीकरण की आवश्यकता है।

चूंकि विंडोज 7 अभी भी मुश्किल से एक रिलीज का उम्मीदवार है, इसलिए आपको इस प्रकार के बग्स की उम्मीद करनी चाहिए।

यदि आप MSDN के सदस्य हैं, तो आप देव टीम में आने वाले विशिष्ट बग को सबमिट करने के लिए समझदार हो सकते हैं।


हाँ मुझे पता है। पहले से ही MSDN पर एक बग दर्ज किया है। बस एक वैकल्पिक विधि की तलाश में जब तक यह तय नहीं हो जाता है =)
Svish
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.