सभी स्वचालित अपडेट विंडोज 10 को रोकना


75

हमने कुछ मशीनों को विंडोज 10 में अपग्रेड किया है और महसूस किया है कि कुछ अपडेट थे जो आवश्यकतानुसार अपडेट किए गए थे। हालाँकि, मुझे एहसास हुआ कि विंडोज 7 और 8.1 के समान डाउनलोड को रोकने के लिए कोई विकल्प उपलब्ध नहीं था। विंडोज अपडेट सेवा को रोकने का एकमात्र तरीका मैं डाउनलोड को रोक सकता था ।

मेरा सवाल है कि क्या किसी को ऑटो अपडेट रोकने का कोई तरीका पता है या सेवा को रोकना एकमात्र उपाय है?


4
यदि आपके पास विंडोज 10 होम है तो यह नहीं किया जा सकता है। अगर आपके पास विंडोज 10 प्रोफेशनल है तो आप 8 महीने तक के अपडेट को टाल सकते हैं। यदि आपके पास विंडोज 10 एंटरप्राइज है तो आप उन अपडेट को डिफर कर सकते हैं जो आपको उस एलएसटीबी को इंगित करते हैं जिसका आप उपयोग करना चाहते हैं। एक उपकरण है जिसे आप डाउनलोड कर सकते हैं जो आपको समस्या का कारण बनने पर व्यक्तिगत अपडेट को स्थगित करने की अनुमति देगा। यह सवाल अब पहले भी कई बार पूछा जा चुका है।
रामहाउंड

इसके अतिरिक्त, दिन के अंत में, भविष्य के सुरक्षा अपडेट प्राप्त करने के लिए आपके सिस्टम में सभी आवश्यक अपडेट होने चाहिए, भले ही आप विंडोज 10 प्रोफेशनल चला रहे हों। KB3073930 वह उपकरण है जो आप चाहते हैं यदि आप व्यक्तिगत अपडेट को छिपाना / स्थगित करना चाहते हैं।
रामहाउंड

@ रामस्वरूप मैं समझता हूं कि सुरक्षा अपडेट आदि की आवश्यकता होगी, लेकिन कभी-कभी आप बस उन्हें रोकना चाहते हैं और बाद में उन्हें शुरू करना चाहते हैं। हम प्रो संस्करण चला रहे हैं। क्या आप यह जान पाएंगे कि मुझे आपकी टिप्पणी में वर्णित टूल कहां मिल सकता है?
इज़्ज़ी

2
रोकना और गिराना 2 अलग चीजें हैं।
Moab

2
कृपया ध्यान दें कि यहां सभी उत्तर केवल विंडोज अपडेट से अपडेट को कवर करते हैं, लेकिन यह स्पष्ट नहीं है कि प्रश्न को कवर करना है या नहीं। विंडोज 10 में दो अन्य अंतर्निहित तरीके हैं जो अपडेट करने के तरीके हैं: डिवाइस ड्राइवर अपडेट को अलग से नियंत्रित किया जाता है (सिस्टम & rarr; उन्नत सिस्टम & rarr; हार्डवेयर & rarr; डिवाइस इंस्टॉलेशन सेटिंग्स इसे कवर करने के लिए लगता है) और स्टोर ऐप्स के स्वत: अपडेट के माध्यम से नियंत्रित किया जाता है। स्टोर (मुझे लगता है कि यह कैंडी क्रश सोडा सागा को भी रोक देगा, उदाहरण के लिए, स्वचालित रूप से स्थापित होने से)।
doshea

जवाबों:


40

यदि आपके पास प्रो संस्करण है, तो प्रवेश समूह नीति संपादक (gpedit.msc) को Configure automatic updatesप्रवेश के लिए खोज करें , यहाँ स्थित है:

computer configuration → administrative templates → windows components → windows update

यहाँ छवि विवरण दर्ज करें

और चुनें Notify for download and notify for install

जब विंडोज नए अपडेट का पता लगाता है तो यह टोस्ट नोटिफिकेशन दिखाता है

यहाँ छवि विवरण दर्ज करें

कुछ समस्याग्रस्त अद्यतनों को अक्षम करने के लिए आप अपडेट KB3073930 से समस्या निवारक का भी उपयोग कर सकते हैं , ताकि वे फिर से स्थापित न हों।

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

यह अवांछित अपडेट और ड्राइवरों के सेटअप को रोकने के लिए Microsoft से आधिकारिक तरीका है।

लेकिन विंडोज अपडेट मिनीटूल नामक एक 3 पार्टी टूल है जो चयन करने की अनुमति देता है कि कौन से अपडेट इंस्टॉल किए जा सकते हैं और पूर्व विंडोज संस्करणों में आप जैसे अपडेट को ब्लॉक कर सकते हैं।

यहाँ छवि विवरण दर्ज करें

मानक विंडोज अपडेट का एक विकल्प जो आप कर सकते हैं:
• अपडेट की जांच करें
• अपडेट डाउनलोड करें
• अपडेट इंस्टॉल करना • इंस्टॉल किए
गए अपडेट को हटाना
अवांछित अपडेट को छिपाना
• * .cab / * .Exe / * .Psf अपडेट फ़ाइलों के लिए सीधे लिंक प्राप्त करें
•। अद्यतन इतिहास देखें
स्वचालित अपडेट कॉन्फ़िगर करें
• यह उपकरण बाहरी पावरशेल मॉड्यूल PSWindowsUpdate की तरह है, लेकिन बहुत अधिक उन्नत और उपयोगकर्ता के अनुकूल सुविधाएँ
• उपकरण निर्भर करता है और एक ही WU बुनियादी ढांचे का उपयोग करता है, सभी डाउनलोड WU के माध्यम से होते हैं यह डाउनलोडर नहीं है

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

यहाँ छवि विवरण दर्ज करें

में Windows 10 रचनाकारों अद्यतन, वहाँ एक विकल्प है 35 दिनों के लिए Windows अद्यतन को रोकने के लिए:

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

सेटिंग्स ऐप के तहत जहां विंडोज अपडेट विकल्प हैं।


2
यदि आपके पास होम संस्करण है तो क्या होगा?
कर्नल पैनिक

1
@ColonelPanic मूल्य सेट करने का प्रयास AUOptions तहत HKEY_LOCAL_MACHINE \ सॉफ्टवेयर \ Policies \ Microsoft \ Windows \ WindowsUpdate \ ए.यू. करने के लिए 2 । क्या यह काम करता है?
जादूंद्रे

1
मुझे नहीं लगता कि मिनीटूल खुला स्रोत है। कृपया इस ओपन सोर्स सरल समाधान कैसे Windows 10 अद्यतन रखरखाव प्रदर्शन करने के लिए इसी तरह के प्रवेशक विंडोज संस्करणों का उल्लेख github.com/slavanap/Windows10ManualUpdate
व्याचेस्लाव Napadovsky

3
@ जादूंद्रे १ ९ magic१ में तोड़फोड़? यह एक मृत और मृत अंत लिंक की मरम्मत के लिए वास्तव में "धन्यवाद" नहीं है।

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

10

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

यदि आप Microsoft द्वारा बिना आपके कहे आपके सिस्टम पर अपडेट स्थापित करने से नाखुश हैं, तो आप W10Privacy का उपयोग करके इस फ़ंक्शन को ब्लॉक कर सकते हैं ।

यदि आपने इस कार्यक्रम के बारे में नहीं सुना है, तो यह अच्छी तरह से जांचने लायक है क्योंकि सॉफ्टवेयर आपको विंडोज 10 के कई गोपनीयता कार्यों पर नियंत्रण देता है, जिससे आप ओएस स्नूपिंग को रोकने के लिए अनुमति देते हैं। विकल्प रंग कोडित होते हैं ताकि आप एक नज़र में देख सकें कि क्या कुछ बदलना / अक्षम करना सुरक्षित है या नहीं।

में W10Privacy 2 , अब आप Windows 10 के अपने अद्यतन प्रणाली को अक्षम और अपने स्वयं के साथ बदलने के लिए कार्यक्रम निर्धारित कर सकते हैं। उपयोगकर्ता चुन सकते हैं कि कौन सा अपडेट इंस्टॉल करना है, और कौन सा अनदेखा करना है। यह कुछ ऐसा नहीं है जो हर किसी को करना चाहिए, लेकिन आपको आसानी से उन चरणों को उल्टा करना चाहिए जिनकी आपको आवश्यकता है।

इससे पहले कि आप इस फ़ंक्शन का उपयोग कर सकें, आपको कुछ अतिरिक्त घटकों को डाउनलोड करना होगा। इन कदमों का अनुसरण करें:

  • W10Privacy 2 डाउनलोड करें और इसे अपनी हार्ड ड्राइव पर एक फ़ोल्डर में अनज़िप करें।
  • PsExec ( PsTools पैकेज का हिस्सा ) डाउनलोड करें और इसे W10Privacy फ़ोल्डर में कॉपी करें।
  • Windows अद्यतन PowerShell मॉड्यूल को तकनीक से डाउनलोड करें , और इसे W10Privacy फ़ोल्डर में एक सबफ़ोल्डर में अनज़िप करें।
  • राइट-क्लिक करें W10Privacy.exeऔर संदर्भ मेनू से व्यवस्थापक के रूप में चलाएँ चुनें। सिस्टम पुनर्स्थापना बिंदु बनाने के लिए चुनें। यह भी एक पूर्ण प्रणाली बैकअप बनाने के लायक है (बस मामले में)।
  • विकल्पों का प्रबंधन करने के लिए एक्स्ट्रास> विंडोज अपडेट पर जाएं। छह अलग-अलग चेक बॉक्स हैं। कोई भी डिफ़ॉल्ट रूप से सक्षम नहीं हैं। वो हैं:
  • PSWindows अद्यतन मॉड्यूल मौजूद है (W10Privacy फ़ोल्डर के लिए उपयोगकर्ता द्वारा पहले प्रदान किया जाना चाहिए)।
  • W10Privacy फ़ोल्डर में PsExec.exe (उपयोगकर्ता द्वारा प्रदान किया जाना चाहिए)। PS10 विंडोज-अपडेट मॉड्यूल के W10P गोपनीयता अनुकूलन।
  • नकली WSUS सर्वर को कॉन्फ़िगर करें।

  • W10P गोपनीयता रिक्त स्थान के बिना एक पथ / फ़ोल्डर में स्थित है। अपडेट खोज में ड्राइवरों पर विचार न करें।

  • मान लें कि आप मैन्युअल रूप से अपडेट प्रबंधित करना चाहते हैं, पहले पांच विकल्पों की जांच करें। छठा विकल्प आपको यह तय करने देता है कि अपडेट के साथ ड्राइवरों को सूचीबद्ध करना है या नहीं। यह आप पर निर्भर करता है।
  • फिर सेट की गई सेटिंग पर क्लिक करें और फिर अपडेट बटन के लिए स्टार्ट चेकिंग पर क्लिक करें और आपको कोई भी नया अपडेट दिखाया जाएगा जो अभी तक इंस्टॉल किया जाना है और यह चुन सकता है कि क्या कार्रवाई करनी है।

स्क्रीनशॉट

एक बार जब आप अपने अपडेट के प्रभारी हों, तो सॉफ़्टवेयर को नियमित रूप से चलाएं और यह सुनिश्चित करने के लिए जांचें कि क्या आप कोई महत्वपूर्ण अपडेट याद नहीं करते हैं;

यहाँ छवि विवरण दर्ज करें

क्रेडिट:

  1. विंडोज 10 के स्वचालित अपडेट पर कुल नियंत्रण कैसे प्राप्त करें

1
सबसे अच्छा समाधान, क्योंकि यह पूरी तरह से विंडोज को अपडेट देखने से रोकता है।
मार्कस

अरे नहीं .. एक भी आदेश क्यों नहीं है। कोई मुझे दरवाजा दे दो यह खिड़की चारों ओर चलने के लिए उच्च है।
मुस्तकेम के

6

@ रामहाउंड की मदद से मैं यह पता लगाने में कामयाब रहा कि विंडोज़ 10 पर स्वचालित अपडेट कैसे रोकें।

कृपया ध्यान दें कि यह विंडोज 10 प्रो पर लागू होता है क्योंकि यह वह संस्करण है जो मैं चला रहा हूं।

स्व-अद्यतन को रोकने के लिए आप निम्न कार्य कर सकते हैं:

  1. सेटिंग्स खोलें
  2. अपडेट एंड सिक्योरिटी पर क्लिक करें
  3. पर क्लिक करें Advanced options यहाँ छवि विवरण दर्ज करें
  4. सुनिश्चित करें Defer upgradesविकल्प की जाँच की है यहाँ छवि विवरण दर्ज करें
  5. सेटिंग्स विंडो को बंद करें और यही आप कर रहे हैं!

अपडेट करें

जैसा कि @Vinayak द्वारा टिप्पणियों में उल्लेख किया गया है कि डेफर विकल्प अब घरेलू उपयोगकर्ताओं के लिए भी उपलब्ध है। अधिक जानकारी यहाँ


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

1
@Pycogeek Wuauservसेवा है और इसे रोका / अक्षम किया जा सकता है। यह है कि मैंने मूल रूप से अपडेट बंद कर दिया है
इज़ज़ी

5
बहुत सारे वेब इसे ध्वनि बना रहे हैं जैसे कि दुनिया बंद हो जाएगी, अगर विंडोज़ 10 अपडेट बंद हो गए हैं :-) और कुछ संस्करणों में बटन मौजूद नहीं है। मैं मान रहा हूं कि आपको इससे कोई परेशानी नहीं हुई? सपना पुलिस ने आपके बुरे सपने पर आक्रमण नहीं किया, ओएस एक गेंद में ढह नहीं गया, और इस प्रक्रिया में किसी भी पालतू जानवर को नुकसान नहीं पहुँचाया गया था :-) मुझे लगता है कि यह क्यू एंड ए अच्छी तरह से किया गया है और इसी तरह के डब्ल्यू 10 अपडेट नियंत्रण के लिए फिर से इस्तेमाल किया जा सकता है प्रशन ।
साइकोगिक जूल

5
ध्यान दें कि Microsoft ने अंदर प्रवेश कर लिया है और अब Defer उन्नयन विंडोज 10 होम उपयोगकर्ताओं के लिए भी उपलब्ध है
विनायक

1
डेफर ने 1511 (नवंबर 2015 अपडेट) या 1607 (जुलाई 2016 में वर्षगांठ अद्यतन) जैसे एक नए संस्करण में अपग्रेड को रोक दिया है और आपको पुराने संस्करण के लिए स्वचालित अपडेट प्राप्त करता रहता है।
Magicandre1981

4

windows_update_toggle
पिछले बैच फ़ाइलों के बड़े पैमाने पर पुनरावृत्ति सबसे अच्छा अभ्यास अवरुद्ध के साथ एकल स्क्रिप्ट में सूट टॉगल !
इसे एक्शन में देखें

डेस्कटॉप राइट-क्लिक करें संदर्भ मेनू गतिशील यूआई सब कुछ के लिए टॉगल के साथ!
सभी ब्लॉकों को चालू / बंद, नवीनीकरण (पास्टबिन से) या स्क्रिप्ट विकल्पों की स्थापना रद्द करें

काउंटर के साथ अपडेट लिस्ट को अनहाइड / अनहाइड करें / इंस्टॉल करें!
जब भी Windows आपको MusNotification के माध्यम से nag करेगा सूची स्वचालित रूप से अपडेट हो जाती है!

स्वतंत्र रूप से बिल्ड अपग्रेड, ऑटोमैटिक इंस्टॉल, डाउनलोड, सेवा
IFEO सुरक्षित अवरुद्ध करना जिसमें स्वामित्व का कोई विनाशकारी परिवर्तन न हो, फाइलों को हटाना या कार्यों को मदद करना

स्वतंत्र रूप से काम कर रहे डिफेंडर अपडेट पर फोकस सेट करें। किसी भी अन्य -DIY- अपडेट "प्रबंधन" के विपरीत
, विंडोज़ कीम ऑटोमैटिक अपडेट्स को टॉगल करना स्वत: अपडेट्स बिल्ट-इन प्रोटेक्शन लेयर का त्याग नहीं करेगा।

windows_update_toggle.bat

@set @version=10.0 /* &title Windows Update Toggle
@echo off &set "verbose="
echo.
echo      ---------------------------------------------------------------------
echo     :                  Windows Update Toggle v10.0 final                  :
echo     :---------------------------------------------------------------------:
echo     :      Block/Enable Upgrades, Installs, Downloads(!), Service(!)      :
echo     :         Disable/Enable Reporting, Speech, SearchUI, Defender        :
echo     :        Hide/Unhide/Apply update lists with count and max size       :
echo     :       Preset for Defender updates and Store downloads working       :
echo     :                                                                     :
echo     :     Toggle from the comfort of Desktop right-click context menu     :
echo      ---------------------------------------------------------------------
echo.
:: AveYo, 2018-05-13

if %1.==. timeout /t 10 &call wscript /e:JScript "%~f0" runas setup &exit/b &rem : no arguments, run setup elevated
if %1.==shift. shift &shift &rem : if loaded by WScript, shift args to prevent loop and restore %0
if %1.==. echo ERROR! &timeout /t 5 &exit/b : must have at least one arg

:: Setup executable blocking via ifeo
set notifier=EOSNotify MusNotification
set upgrader=Windows10UpgraderApp Windows10Upgrade WindowsUpdateBox SetupHost setupprep
set installer=wuauclt
set reporter=wermgr wsqmcons DiagTrackRunner DiagnosticsHub.StandardCollector.Service CompatTelRunner
set speecher=SpeechRuntime SpeechModelDownload
set searcher=SearchUI

set "exe=%notifier% %upgrader% %installer% %reporter%"
set "noop=%SystemRoot%\system32\systray.exe"
set "ifeo=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"
set "menu=HKCR\DesktopBackground\shell\WUT"
set "f0=%SystemRoot%\windows_update_toggle.bat"
set "task=wscript.exe /e:JScript \"%f0%\" schtasks WUT"
set "DefMUS={MicrosoftUpdateServer|MMPC|InternalDefinitionUpdateServer}"
set "DefMMPC={MMPC|MicrosoftUpdateServer|InternalDefinitionUpdateServer}"
set ".=>nul 2>nul"
for /f "tokens=2 delims=1234567890" %%# in ('shutdown /?^|findstr /bc:"E"') do set "[T]=%%#" &rem : cosmetic usage in menus
if defined verbose (echo on &set ".=" &set "window=") else set "window=hide"
call :%~1 %2 %3 %4 %5 %6 %7 %8 %9 &rem : launch secondary functions below dinamically, passing next args
echo.
echo Done! Use the Desktop right-click context menu to toggle, renew or uninstall
if "%~1"=="setup" (pause) else if defined verbose timeout /t 5
exit/b : End of main script, functions below

:refresh context menu
echo %0 %*
call :reg_query "HKLM\SOFTWARE\WUT.bat" NoBlock noblock
if "%noblock%"=="Enable" exit/b
call :reg_query "%menu%0pending" MUIVerb pending
if defined pending exit/b
for %%# in ("1hide" "2unhide" "3apply") do reg delete "%menu%%%~#" /f %.%
reg add "%menu%0pending" /v MUIVerb /d "Pending.." /f %.%
reg add "%menu%0pending" /v SubCommands /d "" /f %.%
call :reg_query "HKLM\SOFTWARE\WUT.bat" NoRefresh norefresh
if "%norefresh%"=="Disable" start "WUT" wscript /e:JScript "%f0%" WUTRefresh
call :status SetupHost
reg add "%menu%\shell\3Upgrades"   /v MUIVerb /d "Upgrades %[T]% [setuphost]    %toggle%" /f %.%
reg add "%menu%\shell\3Upgrades\command" /ve /d "%task%\upgrades" /f %.%
call :status wuauclt
reg add "%menu%\shell\4Installs"   /v MUIVerb /d "Installs %[T]% [wuauclt]    %toggle%" /f %.%
reg add "%menu%\shell\4Installs\command" /ve /d "%task%\installs" /f %.%
for /f "tokens=3" %%# in ('sc qc TrustedInstaller ^| find /I "WUTblocked"') do set "blocked=%%#"
if /i "%blocked%"=="[WUTblocked]" (set "toggle=blocked") else set "toggle=enabled"
reg add "%menu%\shell\5Downloads"  /v MUIVerb /d "Downloads ( ! ) %[T]% [trustedinstaller]    %toggle%" /f %.%
reg add "%menu%\shell\5Downloads\command" /ve /d "%task%\downloads" /f %.%
for /f "tokens=3" %%# in ('sc qc wuauserv ^| find /I "WUTblocked"') do set "blocked=%%#"
if /i "%blocked%"=="rpcss[WUTblocked]" (set "toggle=blocked") else set "toggle=enabled"
reg add "%menu%\shell\6Service"    /v MUIVerb /d "Service ( ! ) %[T]% [wuauserv]    %toggle%" /f %.%
reg add "%menu%\shell\6Service\command" /ve /d "%task%\service" /f %.%
call :status wermgr
reg add "%menu%\shell\81Report"    /v MUIVerb /d "Report    %[T]% %toggle%" /f %.%
reg add "%menu%\shell\81Report\command" /ve /d "%task%\report" /f %.%
call :status SpeechRuntime
reg add "%menu%\shell\82Speech"    /v MUIVerb /d "Speech    %[T]% %toggle%" /f %.%
reg add "%menu%\shell\82Speech\command" /ve /d "%task%\speech" /f %.%
call :status SearchUI
reg add "%menu%\shell\83Search"    /v MUIVerb /d "SearchUI  %[T]% %toggle%" /f %.%
reg add "%menu%\shell\83Search\command" /ve /d "%task%\search" /f %.%
set "defstatus=if((Get-MpPreference).DisableRealtimeMonitoring){write-host stopped}else{write-host enabled}"
for /f "delims=" %%# in ('call powershell.exe -c "%defstatus%;"') do set "toggle=%%#"
reg add "%menu%\shell\84Defender"  /v MUIVerb /d "Defender  %[T]% %toggle%" /f %.%
reg add "%menu%\shell\84Defender\command" /ve /d "%task%\defender" /f %.%
if "%norefresh%"=="Enable" reg delete "%menu%0pending" /f %.%
exit/b

:toggle WUT
echo %0 %*
call :reg_query "HKLM\SOFTWARE\WUT.bat" NoBlock noblock
if "%noblock%"=="Disable" (set "toggle=Enable") else set "toggle=Disable"
for %%# in (NoBlock NoRefresh) do reg add "HKLM\SOFTWARE\WUT.bat" /v %%# /d "%toggle%" /f %.%
:: Generate WUT main context menu
for %%# in ("" "0pending" "1hide" "2unhide" "3apply") do reg delete "%menu%%%~#" /f %.%
reg add "%menu%" /v MUIVerb /d "Windows Update Toggle" /f %.%
reg add "%menu%" /v Icon /d "appwiz.cpl,5" /f %.%
reg add "%menu%" /v SubCommands /d "" /f %.%
reg add "%menu%\shell\9Setup" /v MUIVerb /d "windows_update_toggle.bat v10.0" /f %.%
reg add "%menu%\shell\9Setup" /v SubCommands /d "" /f %.%
reg add "%menu%\shell\9Setup\shell\1Toggle" /v MUIVerb /d "%toggle%" /f %.%
reg add "%menu%\shell\9Setup\shell\2Renew"  /v MUIVerb /d "Renew" /f %.%
reg add "%menu%\shell\9Setup\shell\3Remove" /v MUIVerb /d "Remove" /f %.%
reg add "%menu%\shell\9Setup\shell\1Toggle\command" /ve /d "%task%\toggle" /f %.%
reg add "%menu%\shell\9Setup\shell\2Renew\command"  /ve /d "%task%\renew" /f %.%
reg add "%menu%\shell\9Setup\shell\3Remove\command" /ve /d "%task%\remove" /f %.%
if "%toggle%"=="Disable" (
 reg add "%menu%\shell\1Refresh" /v MUIVerb /d "Refresh" /f %.%
 reg add "%menu%\shell\1Refresh\command" /ve /d "%task%\refresh" /f %.%
 reg add "%menu%\shell\2Lists" /v MUIVerb /d "Hide / Unhide / Apply %[T]% enabled" /f %.%
 reg add "%menu%\shell\2Lists\command" /ve /d "%task%\lists" /f %.%
 reg add "%menu%\shell\7Repair"     /v MUIVerb /d "Troubleshooter" /f %.%
 reg add "%menu%\shell\7Repair\command" /ve /d "%task%\repair" /f %.%
)
:: Disabling automatic updates hinders Defender, so get definitions from MMPC first
if "%toggle%"=="Enable" ( set "DefSig=%DefMUS%" ) else set "DefSig=%DefMMPC%"
start "WUT:MpPref" wscript /e:JScript "%~f0" cmd "powershell.exe -c `Set-MpPreference -SignatureFallbackOrder %DefSig%;`"
:: Default services
sc config wuauserv type= share depend= rpcss %.%
sc config TrustedInstaller type= own depend= / %.%
:: Toggle ifeo exe blocking
for %%# in (%exe% %speech% %search%) do reg delete "%ifeo%\%%#.exe" /f %.%
if "%toggle%"=="Enable" exit/b WUT disabled, so skip the code below
for %%# in (%exe%) do reg add "%ifeo%\%%#.exe" /v Debugger /d "%noop%" /f %.% &taskkill /im "%%#.exe" /t /f %.%
:: WUTRefresh hijacking
for %%# in (MusNotification EOSNotify) do reg add "%ifeo%\%%#.exe" /v Debugger /d "%SystemRoot%\WUTRefresh.bat" /f %.%
call :refresh menu
exit/b

:hide update
echo %0 %*
call :reg_query "%menu%1hide\shell\%~1" MUIVerb updatefound
echo -%updatefound%
if not defined updatefound exit/b
call wscript /e:JScript "%f0%" hide "%updatefound%"
exit/b

:unhide update
echo %0 %*
call :reg_query "%menu%2unhide\shell\%~1" MUIVerb updatefound
echo -%updatefound%
if not defined updatefound exit/b
call wscript /e:JScript "%f0%" unhide "%updatefound%"
exit/b

:apply update
echo %0 %*
call :reg_query "%menu%3apply\shell\%~1" MUIVerb updatefound
echo -%updatefound%
if not defined updatefound exit/b
:: Temporarily unblock downloads and installs
call :reg_query "%ifeo%\wuauclt.exe" Debugger installs_blocked
for /f "tokens=3" %%# in ('sc qc TrustedInstaller ^| find /I "WUTblocked"') do set "downloads_blocked=%%#"
call wscript /e:JScript "%f0%" apply "%updatefound%"
:: Restore block
if defined installs_blocked reg add "%ifeo%\wuauclt.exe" /v Debugger /d "%noop%" /f %.% &taskkill /im "wuauclt.exe" /t /f %.%
if defined downloads_blocked sc config TrustedInstaller type= own depend= [WUTblocked] %.%
exit/b

:lists
echo %0 %*
call :reg_query "HKLM\SOFTWARE\WUT.bat" NoRefresh norefresh
if "%norefresh%"=="Disable" ( set "norefresh=Enable" &set "toggle=disabled") else set "norefresh=Disable" &set "toggle=enabled"
reg add "HKLM\SOFTWARE\WUT.bat" /v NoRefresh /d "%norefresh%" /f %.%
reg add "%menu%\shell\2Lists" /v MUIVerb /d "Hide / Unhide / Apply %[T]% %toggle%" /f %.%
reg add "%menu%\shell\1Refresh" /v MUIVerb /d "Refresh" /f %.%
reg add "%menu%\shell\1Refresh\command" /ve /d "%task%\refresh" /f %.%
if "%norefresh%"=="Enable" (
 reg delete "%menu%0pending" /f %.% &reg delete "%menu%1hide" /f %.% &reg delete "%menu%2unhide" /f %.%
 reg delete "%menu%3apply" /f %.% &reg delete "%menu%\shell\1Refresh" /f %.%
)
call :refresh lists
exit/b

:upgrades
echo %0 %*
call :flip SetupHost
reg add "%menu%\shell\3Upgrades"   /v MUIVerb /d "Upgrades %[T]% [setuphost]    %toggle%" /f %.%
for %%# in (%upgrader%) do if defined block (
 reg delete "%ifeo%\%%#.exe" /f %.%
) else (
 reg add "%ifeo%\%%#.exe" /v Debugger /d "%noop%" /f %.% &taskkill /im "%%#.exe" /t /f %.%
)
exit/b

:installs
echo %0 %*
call :flip wuauclt
reg add "%menu%\shell\4Installs"   /v MUIVerb /d "Installs %[T]% [wuauclt]    %toggle%" /f %.%
for %%# in (%installer%) do if defined block (
 do reg delete "%ifeo%\%%#.exe" /f %.% &start "wt" wscript /e:JScript "%f0%" WUTRefresh
) else (
 reg add "%ifeo%\%%#.exe" /v Debugger /d "%SystemRoot%\WUTRefresh.bat" /f %.% &taskkill /im "%%#.exe" /t /f %.%
)
exit/b

:downloads
echo %0 %*
call :reg_query "%menu%3apply" MUIVerb pending
set "reboot=%pending:reboot=%"
if defined pending if "%pending%"=="%reboot%" set "pending="
if defined pending (
 sc config TrustedInstaller type= own depend= / %.%
 reg add "%menu%\shell\5Downloads" /v MUIVerb /d "Downloads ( ! ) %[T]% [trustedinstaller]    reboot?" /f %.%
 exit/b
)
for /f "tokens=3" %%# in ('sc qc TrustedInstaller ^| find /I "WUTblocked"') do set "blocked=%%#"
if /i "%blocked%"=="[WUTblocked]" (set "blocked=/") else set "blocked=[WUTblocked]"
net stop TrustedInstaller /y %.%
for /f "tokens=3" %%# in ('sc queryex TrustedInstaller ^| find /i "PID"') do set "pid=%#"
if not "%pid%"=="0" taskkill /pid %pid% /f %.%
sc config TrustedInstaller type= own depend= %blocked% %.%
tasklist /svc | find /i "TrustedInstaller" %.%
if errorlevel 1 net start TrustedInstaller /y %.%
if errorlevel 1 (set "toggle=blocked") else set "toggle=enabled"
reg add "%menu%\shell\5Downloads" /v MUIVerb /d "Downloads ( ! ) %[T]% [trustedinstaller]    %toggle%" /f %.%
if "%toggle%"=="enabled" start "WUT" wscript /e:JScript "%f0%" WUTRefresh
exit/b

:service
echo %0 %*
for /f "tokens=3" %%# in ('sc qc wuauserv ^| find /I "WUTblocked"') do set "blocked=%%#"
if /i "%blocked%"=="rpcss[WUTblocked]" (set "blocked=rpcss") else set "blocked=rpcss[WUTblocked]"
net stop wuauserv /y %.%
for /f "tokens=3" %%# in ('sc queryex wuauserv ^| find /i "PID"') do set "pid=%#"
if not "%pid%"=="0" taskkill /pid %pid% /f %.%
sc config wuauserv type= share depend= %blocked% %.%
tasklist /svc | find /i "wuauserv" %.%
if errorlevel 1 net start wuauserv /y %.%
if errorlevel 1 (set "toggle=blocked") else set "toggle=enabled"
reg add "%menu%\shell\6Service" /v MUIVerb /d "Service ( ! ) %[T]% [wuauserv]    %toggle%" /f %.%
if "%toggle%"=="enabled" start "WUT" wscript /e:JScript "%f0%" WUTRefresh
exit/b

:repair
echo %0 %*
:: Restore services (undo only the changes made by this script, not whatever blocking was done by other means)
sc config wuauserv type= share depend= rpcss %.%
sc config TrustedInstaller type= own depend= / %.%
:: Remove any IFEO blocking done by past scripts
set eo=DiagnosticsHub.StandardCollector.Service WindowsUpdateElevatedInstaller LocationNotificationWindows InstallAgentUserBroker
set eo=%eo% UpdateNotificationMgr DataUsageLiveTileTask Windows10UpgraderApp WindowsActionDialog SpeechModelDownload WerFaultSecure
set eo=%eo% GetCurrentRollback WindowsUpdateBox Windows10Upgrade TrustedInstaller MusNotification DiagTrackRunner CompatTelRunner
set eo=%eo% WinREBootApp64 WinREBootApp32 UNPUXLauncher SpeechRuntime MusNotifyIcon PilotshubApp InstallAgent dstokenclean wsqmcons
set eo=%eo% disksnapshot osrssupdate wuapihost WaaSMedic UsoClient UNPUXHost SIHClient setupprep SetupHost osrssinst EOSNotify wusa
set eo=%eo% WerFault TiWorker SearchUI DWTRIG20 dusmtask dmclient appidtel wuauclt wermgr DFDWiz remsh reach HxTsr DWWIN DW20 GWX
for %%# in (%eo%) do reg delete "%ifeo%\%%#.exe" /f %.%
:: Restore notification hijacking
>"%SystemRoot%\WUTRefresh.bat" echo/@start "WUTRefresh" /min wscript.exe /e:JScript "%f0%" WUTRefresh
for %%# in (MusNotification EOSNotify) do reg add "%ifeo%\%%#.exe" /v Debugger /d "%SystemRoot%\WUTRefresh.bat" /f %.%
:: Remove pending instance safeguard
reg delete "HKLM\SOFTWARE\WUT.bat" /v Pending /f %.%
:: Refresh menu
call :refresh repair
:: Open Update Diagnostic
start "wud" msdt.exe /id WindowsUpdateDiagnostic %.%
:: Open official update troubleshooter page
start https://support.microsoft.com/en-us/help/4027322/windows-update-troubleshooter %.%
exit/b

:report
echo %0 %*
call :flip wermgr
reg add "%menu%\shell\81Report"    /v MUIVerb /d "Report    %[T]% %toggle%" /f %.%
for %%# in (%reporter%) do if defined block ( reg delete "%ifeo%\%%#.exe" /f %.% ) else (
 reg add "%ifeo%\%%#.exe" /v Debugger /d "%noop%" /f %.% &taskkill /im "%%#.exe" /t /f %.%
)
exit/b

:speech
echo %0 %*
call :flip SpeechRuntime
reg add "%menu%\shell\82Speech"    /v MUIVerb /d "Speech    %[T]% %toggle%" /f %.%
for %%# in (%speecher%) do if defined block ( reg delete "%ifeo%\%%#.exe" /f %.% ) else (
 reg add "%ifeo%\%%#.exe" /v Debugger /d "%noop%" /f %.% &taskkill /im "%%#.exe" /t /f %.%
)
exit/b

:search
echo %0 %*
call :flip SearchUI
reg add "%menu%\shell\83Search"    /v MUIVerb /d "SearchUI  %[T]% %toggle%" /f %.%
for %%# in (%searcher%) do if defined block ( reg delete "%ifeo%\%%#.exe" /f %.% ) else (
 reg add "%ifeo%\%%#.exe" /v Debugger /d "%noop%" /f %.% &taskkill /im "%%#.exe" /t /f %.%
)
exit/b

:defender
echo %0 %*
set "s10=$t=1;$toggle='stopped'; if((Get-MpPreference).DisableRealtimeMonitoring){$t=0;$toggle='enabled';}"
set "s11=Set-MpPreference -DisableRealtimeMonitoring $t"
set "s12=Set-MpPreference -DisableBehaviorMonitoring $t"
set "s13=Set-MpPreference -DisableIOAVProtection $t"
set "s14=write-host $toggle"
for /f "delims=" %%# in ('call powershell.exe -c "%s10%;%s11%;%s12%;%s13%;%s14%;"') do set "toggle=%%#"
reg add "%menu%\shell\84Defender"  /v MUIVerb /d "Defender  %[T]% %toggle%" /f %.%
exit/b

:update_defender - triggered from WScript to get definitions from MMPC, regardless of updates being blocked
tasklist /FI "IMAGENAME eq MpCmdRun.exe" | find ".exe" %.%
if not errorlevel 1 exit/b
pushd %ProgramFiles%\Windows Defender
call MpCmdRun.exe -removedefinitions -dynamicsignatures
call MpCmdRun.exe -SignatureUpdate -MMPC
exit/b

:setup
echo %0 %*
pushd %SystemRoot%
if /i "%~f0"=="%f0%" (set "initial_setup=") else copy /y "%~f0" "%f0%" %.%
:: Create WUTUndo for emergencies
 >WUTUndo.bat echo/pushd %%~dp0system32\config
>>WUTUndo.bat echo/reg load HKLM\WUTUndo1 SOFTWARE
>>WUTUndo.bat echo/set "koff=HKLM\WUTUndo1\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" ^&set "kon=%ifeo%"
>>WUTUndo.bat echo/for %%%%B in (%exe%) do for %%%%K in ("%%koff%%" "%%kon%%") do reg delete "%%%%~K\%%%%B.exe" /f 2^>nul
>>WUTUndo.bat echo/reg unload HKLM\WUTUndo1
>>WUTUndo.bat echo/reg load HKLM\WUTUndo2 SYSTEM
>>WUTUndo.bat echo/for %%%%K in (WUTUndo2 SYSTEM) do (
>>WUTUndo.bat echo/ reg delete "HKLM\%%%%~K\ControlSet001\Services\TrustedInstaller" /v DependOnService /f 2^>nul
>>WUTUndo.bat echo/ reg delete "HKLM\%%%%~K\CurrentControlSet\Services\TrustedInstaller" /v DependOnService /f 2^>nul
>>WUTUndo.bat echo/)
>>WUTUndo.bat echo/reg unload HKLM\WUTUndo2
:: Create WUTRefresh to hijack update notifications and refresh context menu in addition to preventing forced reboots
>WUTRefresh.bat echo/@start "WUTRefresh" /min wscript.exe /e:JScript "%f0%" WUTRefresh
:: Create tasks to run context menu entries with proper access and no output window
start "WUT" wscript /e:JScript "%~f0" cmd "call `%~f0` setup_schtasks"
:: WUT options
for %%# in (NoBlock NoRefresh) do reg add "HKLM\SOFTWARE\WUT.bat" /v %%# /d "Enable" /f %.%
call :toggle blocking
exit/b

:setup_schtasks - no stalling separate process
set "strun=wscript.exe /e:JScript \"%f0%\" run%window%"
for %%t in (refresh lists upgrades installs downloads service repair report speech search defender toggle renew remove) do (
 schtasks /create /ru "%username%" /sc once /tn "WUT\%%t" /tr "%strun% %%t" /st "00:00:00" /it /rl highest /f %.%
)
for %%t in (hide unhide apply) do for /l %%n in (101,1,116) do (
 schtasks /create /ru "%username%" /sc once /tn "WUT\%%t\%%n" /tr "%strun% %%t %%n" /st "00:00:00" /it /rl highest /f %.%
)
exit/b

:renew
echo %0 %*
echo Renewing from internet - old version saved as %SystemRoot%\WUT.old
pushd %SystemRoot%
if exist WUT.new del /f /q WUT.new %.%
call wscript /e:JScript "%~f0" renew "https://pastebin.com/raw/gNsLEWJe" "%SystemRoot%\WUT.new"
if exist WUT.new copy /y "%f0%" WUT.old %.% &copy /y WUT.new "%f0%" %.% &del /f /q WUT.new %.%
start "WUT" "%f0%" setup renew %.%
exit/b

:remove
echo %0 %*
for %%# in (NoBlock NoRefresh) do reg add "HKLM\SOFTWARE\WUT.bat" /v %%# /d "Disable" /f %.%
call :toggle off
reg delete "HKLM\SOFTWARE\WUT.bat" /f %.%
for %%# in ("" "0pending" "1hide" "2unhide" "3apply") do reg delete "%menu%%%~#" /f %.%
for %%t in (refresh lists upgrades installs downloads service repair report speech search defender toggle renew remove) do (
 schtasks /delete /tn "WUT\%%t" /f %.%
)
for %%t in (hide unhide apply) do for /l %%n in (101,1,116) do schtasks /delete /tn "WUT\%%t\%%n" /f %.%
for %%t in (hide unhide apply) do schtasks /delete /tn "WUT\%%t" /f %.%
schtasks /delete /tn "WUT" /f %.%
sc config wuauserv type= share depend= rpcss %.%
sc config TrustedInstaller type= own depend= / %.%
pushd %SystemRoot%
del /f /q WUT.bat WUT.old DefenderManualUpdate.bat WUTRefresh.bat WUTUndo.bat "%f0%" %.%
exit/b

:flip %1:exe
call :reg_query "%ifeo%\%~1.exe" Debugger block
if defined block (set "toggle=enabled") else set "toggle=blocked"
exit/b

:status %1:exe
call :reg_query "%ifeo%\%~1.exe" Debugger block
if defined block (set "toggle=blocked") else set "toggle=enabled"
exit/b

:reg_query %1:KeyName %2:ValueName %3:OutputVariable %4:other_options[example: "/t REG_DWORD"]
setlocal & for /f "skip=2 delims=" %%s in ('reg query "%~1" /v "%~2" /z 2^>nul') do set "rq=%%s" & call set "rv=%%rq:*)    =%%"
endlocal & set "%~3=%rv%" & exit/b &rem                                         AveYo: call :reg_query "HKCU\MyKey" "MyValue" MyVar

::---------------------------------------------------------------------------------------------------------------------------------
:JScript_functions                                                                 AveYo: Switch syntax highlighter to 'javascript'
::-------------------------------------------------------------------------------------------------------------------------------*/
f0=WSH.ScriptFullName; run=WSH.Arguments(0); args=''; for(i=1;i<WSH.Arguments.length;i++) args+=' "'+WSH.Arguments(i)+'"';
function sex(exe,args){WSH.CreateObject('Shell.Application').ShellExecute(exe,args,'','',0);}; function reg(s){ sex('reg.exe',s); }

// Open external commands in new hidden cmd instance - backquotes replaced to quotes
if (run=='cmd') sex('cmd','/c '+args.replace(/`/g,'"'));

// Context menu entries trigger - elevated with no popups
if (run=='schtasks') sex('SCHTASKS.EXE','/Run /TN '+args);

// Shift to CMD if loaded by WScript - pass arguments, prevent loop, run as admin at setup, hide window at context-menu
function cmd(adm,win){WSH.CreateObject('Shell.Application').ShellExecute('cmd','/c call "'+f0+'" shift "'+f0+'"'+args,'',adm,win);}
if (run=='run') cmd('',1); if (run=='runhide') cmd('',0); if (run=='runas') cmd('runas',1); if (run=='runashide') cmd('runas',0);

if (run=='renew') {
  // renew script over internet
  try{
  downloader=WSH.CreateObject("WinHttp.WinHttpRequest.5.1");
  if (downloader===null) downloader=WSH.CreateObject("WinHttp.WinHttpRequest");
  if (downloader===null) downloader=WSH.CreateObject("MSXML2.ServerXMLHTTP");
  if (downloader===null) downloader=WSH.CreateObject("Microsoft.XMLHTTP");
  downloader.Open("GET",WSH.Arguments(1),false); downloader.Send(); oASI=downloader.ResponseBody(); downloader=undefined;
  oASO=WSH.CreateObject("ADODB.Stream"); oASO.type=1; oASO.Mode=3; oASO.Open; oASO.Write(oASI); oASI=undefined;
  oASO.SaveToFile(WSH.Arguments(2)); oASO.Close();
  }catch(e){} // supress all errors since we're working with com objects
}

// WUT Hide/Unhide/Apply lists
if (run=='WUTRefresh' || run=='hide' || run=='unhide' || run=='apply') {
  SRP=GetObject("winmgmts:StdRegProv"); pending=SRP.GetStringValue(2147483650,'SOFTWARE\\WUT.bat','Pending');
  if (pending===0) WSH.quit(); else SRP.SetStringValue(2147483650,'SOFTWARE\\WUT.bat','Pending','yes'); // prevent instances
  k='HKCR\\DesktopBackground\\shell\\WUT'; hk=k+'1hide'; uk=k+'2unhide'; ik=k+'3apply'; pk=k+'0pending';           // set list keys
  reg('delete "'+hk+'" /f'); reg('delete "'+uk+'" /f'); reg('delete "'+ik+'" /f');                               // delete previous
  reg('add "'+pk+'" /v MUIVerb /d "Pending.." /f'); reg('add "'+pk+'" /v SubCommands /d "" /f');             // add Pending.. entry
  // Check for updates
  count=0; wuthide=[]; wutunhide=[];
  try{
  session=WSH.CreateObject("Microsoft.Update.Session"); reboot=WSH.CreateObject("Microsoft.Update.SystemInfo").RebootRequired;
  searcher=session.CreateUpdateSearcher();
  sresult=searcher.Search("IsInstalled=0"); Updatelist=sresult.Updates; count=sresult.Updates.Count;
  for(i=0;i<count;i++) {
    itemTitle=Updatelist.Item(i).Title;
    minsize=Updatelist.Item(i).MinDownloadSize; maxsize=Updatelist.Item(i).MaxDownloadSize; wutsize='';
    if (maxsize > 1073741824) wutsize=' ['+Math.round(minsize/10737418.24)/100+' - '+Math.round(maxsize/10737418.24)/100+'GB]';
    else if (maxsize > 1048576) wutsize=' ['+Math.round(minsize/10485.76)/100+' - '+Math.round(maxsize/10485.76)/100+'MB]';
    else if (maxsize > 1024) wutsize=' ['+Math.round(minsize/10.24)/100+' - '+Math.round(maxsize/10.24)/100+'KB]';
    else if (maxsize > 0) wutsize=' ['+(minsize)+' - '+(maxsize)+'B]';
    wutTitle=Updatelist.Item(i).Title + wutsize;
    if (run=='apply' && WSH.Arguments(1).indexOf(itemTitle) > -1) {
      // Add matching entry to UpdateColl
      UpdateColl=WSH.CreateObject("Microsoft.Update.UpdateColl"); UpdateColl.Add(Updatelist.Item(i));
      // Download update
      downloader=session.CreateUpdateDownloader(); downloader.Updates=UpdateColl; dresult=downloader.Download();
      if (dresult.ResultCode==2) {
        // Unblock apply
        sex('sc','config TrustedInstaller type= own depend= /');
        KeyPath='SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image File Execution Options\\wuauclt.exe';
        SRP.DeleteKey(2147483650,KeyPath);
        WSH.Sleep(1000);
        //Apply update
        installer=session.CreateUpdateInstaller(); installer.Updates=UpdateColl; iresult=installer.Install();
        if (iresult.ResultCode==2) continue;
      }
    }
    // hide and unhide are very simple bool flip compared to apply
    if (run=='hide' && WSH.Arguments(1).indexOf(itemTitle) > -1) {
      Updatelist.Item(i).IsHidden=true; wutunhide.push(wutTitle); continue;
    }
    if (run=='unhide' && WSH.Arguments(1).indexOf(itemTitle) > -1) {
      Updatelist.Item(i).IsHidden=false; wuthide.push(wutTitle); continue;
    }
    // Trigger :update_defender to manually refresh definitions from MMPC
    if (Updatelist.Item(i).IsHidden===false && itemTitle.indexOf('(Definition') > -1) {
      sex('cmd','/c call "'+f0+'" update_defender');
    }
    // Sorting lists
    if (Updatelist.Item(i).IsHidden) wutunhide.push(wutTitle); else wuthide.push(wutTitle);
  }
  // Generate Hide context menu
  if (wuthide.length>0){
    for(i=101,n=wuthide.length+101;i<n;i++) {
      reg('add "'+hk+'\\shell\\'+i+'" /v MUIVerb /d "'+wuthide[i-101]+'" /f');
      reg('add "'+hk+'\\shell\\'+i+'\\command" /ve /d "wscript.exe /e:JScript \\"'+f0+'\\" schtasks WUT\\hide\\'+i+'" /f');
    }
    reg('add "'+hk+'" /v SubCommands /d "" /f');
    reg('add "'+hk+'" /v MUIVerb /d "Hide '+"\t"+wuthide.length+'" /f');
  }
  // Generate Unhide context menu
  if (wutunhide.length>0){
    for(i=101,n=wutunhide.length+101;i<n;i++) {
      reg('add "'+uk+'\\shell\\'+i+'" /v MUIVerb /d "'+wutunhide[i-101]+'" /f');
      reg('add "'+uk+'\\shell\\'+i+'\\command" /ve /d "wscript.exe /e:JScript \\"'+f0+'\\" schtasks WUT\\unhide\\'+i+'" /f');
    }
    reg('add "'+uk+'" /v SubCommands /d "" /f');
    reg('add "'+uk+'" /v MUIVerb /d "Unhide '+"\t"+wutunhide.length+'" /f');
  }
  // Generate Apply context menu
  if (wuthide.length>0){
    for(i=101,n=wuthide.length+101;i<n;i++) {
      reg('add "'+ik+'\\shell\\'+i+'" /v MUIVerb /d "'+wuthide[i-101]+'" /f');
      reg('add "'+ik+'\\shell\\'+i+'\\command" /ve /d "wscript.exe /e:JScript \\"'+f0+'\\" schtasks WUT\\apply\\'+i+'" /f');
    }
    reg('add "'+ik+'" /v SubCommands /d "" /f');
    reg('add "'+ik+'" /v MUIVerb /d "Apply '+"\t"+((reboot) ? 'must reboot' : wuthide.length)+'" /f');
  }
  }catch(e){} // supress all errors since we're working with com objects
  reg('delete "'+pk+'" /f'); SRP.DeleteValue(2147483650,'SOFTWARE\\WUT.bat','Pending'); // Remove Pending.. temporary entry
}
//

अंतिम v10.0 अंतिम के लिए अद्यतन किया गया। ऊपर दिए गए पास्टबिन लिंक पर अप-टू-डेट कोड।


कोई भी मौका आप मुझे बता सकते हैं कि काली पृष्ठभूमि रखने के लिए आपको अपने विंडोज़ मेनू कैसे मिले?!
वेफ्टोफ्यूवन

1
यह एक उच्च-विपरीत-आधारित थीम है, जो यहां उपलब्ध है: pastebin.com/fA3t5Sd2
AveYo

4

विंडोज 10 होम उपयोगकर्ताओं के लिए

विंडोज सेंट्रल से निम्न विधि का प्रयास करें । असल में, आप रिबूट सेवा को अक्षम कर देंगे, अपडेट सेवा को नहीं। आप जब चाहें तब रिबूट कर सकते हैं। कृपया ध्यान दें, आपको व्यवस्थापक विशेषाधिकारों की आवश्यकता है, लेकिन मुझे लगता है कि आपके पास पहले से ही यह है क्योंकि आप विंडोज होम संस्करण का उपयोग कर रहे हैं।

  1. : Windows Explorer विंडो से, फ़ाइल का नाम बदलें C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot(आपका यह सोचते %windir%है C:\Reboot.old के लिए)। ध्यान दें, आपको यहां व्यवस्थापक पहुंच के लिए कहा जाएगा।
  2. नाम के एक निर्देशिका बनाने Rebootमें C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\। यह विंडोज़ को एक ही नाम से एक फ़ाइल को फिर से बनाने से रोकेगा। ध्यान दें, आपको यहां व्यवस्थापक पहुंच के लिए कहा जाएगा।
  3. मशीन को रिबूट करें। यह सभी सेवाओं को रीसेट कर देगा, और रिबूट सेवा को शुरू करने से रोक देगा।

कृपया ध्यान दें, यह Microsoft द्वारा प्रचारित नहीं है। लेकिन फिर से, न तो आप बूट अनुसूची को नियंत्रित कर रहे हैं, इसलिए उस एमएस को लें! गंभीरता से, यदि आप नहीं जानते कि आप इंटरनेट से किसी भी दिशा-निर्देशों का पालन करके जो जोखिम उठा रहे हैं, उसे आप क्या समझ रहे हैं। यह निश्चित रूप से काफी सरल है कि विंडोज 95 की समझ यह बताने में मदद करेगी कि यहां क्या हो रहा है।


3

विंडोज अपडेट की स्थिति - 2019 की शुरुआत

विंडोज अपडेट को अपरिहार्य बनाने के लिए Microsoft बहुत दर्द कर रहा है, यही वजह है कि पारंपरिक तरीके अब काम नहीं करते हैं, या केवल सीमित समय के लिए काम करते हैं।

Microsoft ऐसी सिस्टम सेवाएँ जोड़ रहा है जिन्हें अक्षम नहीं किया जा सकता जिसका उद्देश्य Windows को अद्यतन करना है। इनमें से मुख्य है अपडेट ऑर्केस्ट्रेटर सेवा , जो अपडेट को डाउनलोड, इंस्टॉल और सत्यापित करने के साथ काम करती है। यदि रोका गया है, तो कंप्यूटर अपडेट डाउनलोड और इंस्टॉल नहीं कर सकता है, यही कारण है कि इसे केवल वर्तमान सत्र के लिए अक्षम किया जा सकता है, और अगले रिबूट पर फिर से सक्षम किया जाएगा।

Windows अद्यतन को बिना रुके बनाने के लिए जो सेवा ली जाती है, वह नई Windows अद्यतन दवा सेवा है , जिसे Windows अद्यतन को कार्यशील रखने के साथ सौंपा गया है। यह सेवा है जो विंडोज अपडेट को ब्लॉक करने के लिए सभी पारंपरिक तरीकों को खोलती है, ताकि समय-समय पर और अप्रत्याशित रूप से किसी को पता चले कि विंडोज अपडेट सेटिंग्स को उनके मूल मूल्यों पर रीसेट कर दिया गया है और उपयोगकर्ता पर अपडेट को मजबूर करने के लिए विंडोज वापस चला गया है।

स्वयं Windows अद्यतन चिकित्सा सेवा को अक्षम नहीं किया जा सकता है। ऐसा करने का कोई भी प्रयास "एक्सेस अस्वीकृत है" के संदेश के साथ समाप्त होगा।

फिर भी, एक तृतीय-पक्ष उत्पाद मौजूद है जो विंडोज अपडेट को पूरी तरह से ब्लॉक कर सकता है: विंडोज अपडेट ब्लॉकर । यह मुफ्त उत्पाद पोर्टेबल है और एक क्लिक के साथ विंडोज अपडेट को अक्षम / सक्षम कर सकता है। वास्तव में, यह किसी अन्य अनब्लॉकेबल विंडोज सर्विस को भी ब्लॉक कर सकता है। यह अभी भी 2018 में काम कर रहा है।

तृतीय-पक्ष उत्पाद का उपयोग करना लंबे समय तक विंडोज अर्ध-प्रलेखित सुविधाओं पर निर्भर रहने की तुलना में सुरक्षित हो सकता है, जो बिना सूचना के बदल सकते हैं। मेरे इस जवाब में कुछ और मुफ्त उत्पाद मिल सकते हैं , जो विंडोज एपीआई का उपयोग करते हैं जो किसी भी कार्यक्रम को आसन्न बंद करने की अनुमति देता है।


2

अंत में एक स्थायी फिक्स मिला जो बस काम करता है

पुस्तक में हर ट्रिक को आज़माने के बाद , मुझे हमेशा विंडोज अपडेट द्वारा बेस्ट किया गया है। मैंने यहां हर समाधान की कोशिश की है और अन्य स्रोतों के टन, और विंडोज ने लगातार मेरी योजनाओं को विफल करने के तरीके ढूंढे।

लगभग 6 महीने पहले तक ...

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

  1. यहाँ से ऐक्रेलिक डीएनएस प्रॉक्सी स्थापित करें

यह मूल रूप से विंडोज़ होस्ट फ़ाइल का एक स्मोक्ड संस्करण है जो आपको वाइल्डकार्ड जैसे फ़ंक्शंस को जोड़ने की अनुमति देता है, जो कि हमारे मामले में आवश्यक है क्योंकि कई स्रोतों से विंडोज़ को इसके अपडेट मिलते हैं।

  1. ऐक्रेलिक बनाने के लिए यहां दिए गए निर्देशों का पालन ​​करते हुए विन 10 में काम करना शुरू करें। बहुत ही साधारण सामान।

  2. अपने प्रारंभ मेनू पर जाएं, और यहां दिखाए गए सभी कार्यक्रमों के तहत " ऐक्रेलिक होस्ट्स फ़ाइल संपादित करें" पर क्लिक करें

  3. इन पंक्तियों को होस्ट फ़ाइल के निचले हिस्से में जोड़ें, जिनके सामने कोई # चिह्न नहीं है।

0.0.0.0 windowsupdate.microsoft.com
0.0.0.0 * .windowsupdate.microsoft.com
0.0.0.0 * .update.microsoft.com
0.0.0.0 windowsupdate.com
0.0.0.0 * .windowsupdate.com
0.0.0.0 download.windowsupdate.com
0.0.0.0 download.microsoft.com
0.0.0.0 * .download.windowsupdate.com
0.0.0.0 wustat.windows.com
0.0.0.0 ntservicepack.microsoft.com
0.0.0.0 आँकड़े.microsoft.com

अब फाइल का निचला भाग इस तरह दिखना चाहिए । फ़ाइल को सहेजें और बंद करें।

  1. कार्य प्रबंधक खोलें, सेवाओं के टैब पर जाएं, नीचे "ओपन सर्विसेज" पर क्लिक करें, ऐक्रेलिक डीएनएस प्रॉक्सी का चयन करें और सेवा को पुनरारंभ करने के लिए लाल सर्कल के साथ इस बटन पर क्लिक करें

ख़त्म होना

अब आपके ऐक्रेलिक दोस्त को आपकी पीठ होनी चाहिए और लगातार Microsoft के बिग ब्रदर की रणनीति पर गहरी नज़र रखना चाहिए ताकि वे यह सुनिश्चित कर सकें कि वे गरीब बूढ़े को आपके पीसी को पूरी तरह से अपडेट करने के लिए मजबूर न कर सकें, जो कम से कम एक चौथाई समय उनके पास है। क्या यह मेरे होम पीसी और मेरे सर्फेस प्रो दोनों पर है जो कि विंडोज के लिए पीसी बिल्डिंग माना जाता है, है ना ??? Cmon, Microsoft!

  1. यह सुनिश्चित करने के लिए जांचें कि ऊपर दिए गए कोड में वेबसाइटों में से किसी एक को पिंग करके यह काम कर रहा है। Cmd खोलें और टाइप करें

पिंग windowsupdate.microsoft.com

अगर ये आपके परिणाम हैं, तो आप अभी से सुनहरे होंगे !!

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


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

अगर आपके पास फैंसी डीएनएस सुविधाओं के साथ एक फैंसी राउटर / गेटवे / होम-नेटवर्किंग-बॉक्स है ... तो आप आईएमओ कुछ ऐसा ही कर सकते हैं।
ट्रेवर बॉयड स्मिथ

1

अपडेट सेवा अक्षम करें

  1. Win+R > services.msc
  2. विंडोज अपडेट को डबल क्लिक करें और स्टार्टअप प्रकार को अक्षम में बदलें। पुन: सक्षम करने के लिए, सेवाओं पर वापस जाएं और इसे स्वचालित में बदलें।

स्रोत: विंडोज 10 अपडेट को कैसे नियंत्रित करें


1

मेरे मामले के लिए, मैं न केवल विंडोज अपडेट जाने पर नियंत्रण करना चाहता हूं, बल्कि अपने ऑनलाइन अपडेट पर नियंत्रण से बाहर स्थापित सभी अनुप्रयोगों को भी सीमित करना चाहता हूं।

तो मेरा सरल एक स्टॉप समाधान है: 1. राउटर साइड पर होस्ट के लिए इंटरनेट का उपयोग ब्लॉक करें। होस्ट पर स्थापित कोई भी प्रोग्राम या सेवा इंटरनेट तक नहीं पहुंच सकती है। Windows- कारण का अद्यतन भी अवरोधित है।

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

अधिकांश एप्लिकेशन प्रति आधारित प्रॉक्सी सेटिंग का समर्थन करते हैं, जैसे क्रोम, फ़ायरफ़ॉक्स, सभी तरह के गेम्स आदि।

  1. उन अनुप्रयोगों के लिए जो स्थानीय प्रॉक्सी सेटिंग का समर्थन नहीं करते हैं, NAS क्लाउड गुना को क्लाउड प्रॉक्सी के रूप में उपयोग करते हैं। उदाहरण के लिए, Office 365 सूट प्रति प्रोग्राम प्रॉक्सी का समर्थन नहीं करता है। फिर आप NAS क्लाउड सिंक में सेटअप कर सकते हैं (उदाहरण के लिए, Synology NAS में OneDrive सिंक करने के लिए क्लाउड सिंक सिंक करने के लिए), एक NAS गुना में शंकु सिंक करने के लिए, तो आप उस मोड़ का उपयोग Office 365 के स्थानीय गुना के रूप में करते हैं। इस तरह से अतिरिक्त लाभ आप बड़ी फ़ाइलों पर वास्तव में तेजी से प्रतिक्रिया प्राप्त करते हैं, क्योंकि आप वनड्राइव तक पहुंचने के लिए स्थानीय नेटवर्क गति का उपयोग कर रहे हैं।

ऐसा करने से, आपके कंप्यूटर की इंटरनेट एक्सेसिंग अपने आप से बहुत नियंत्रित होती है, कोई भी आपको गड़बड़ नहीं कर सकता है।

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


0

2 साल बाद और Microsoft के अपडेट तंत्र द्वारा खोले गए बिना सहेजे गए कार्यों के अरबों, अंत में एक प्रमुख अद्यतन है जो समस्या को हल करता है।

Windows 10 निर्माता अब उपलब्ध अद्यतन ( प्रत्यक्ष डाउनलोड )

अपडेट को स्थापित करने के बाद उपयोगकर्ता को फिर से पूछा जाएगा (जैसे कि 20 साल पहले के लोग) अगर s / वह चाहता है कि अपडेट लागू किया जाए:

win10 नया पुराना अपडेट संदेश

कभी-कभी मुझे आश्चर्य होता है कि उन फैसलों के पीछे कौन है ...

अपडेट के बाद अपडेट समय के संबंध में आपके पास और विकल्प हैं। उन्हें रोकने के लिए, Windows अद्यतन सेटिंग्स> उन्नत विकल्प> अपडेट को रोकें> पर जाएं

अद्यतन रोकें

रिस्टार्ट ऑप्शंस के तहत आपको अपडेट नोटिफिकेशन के लिए एक नया विकल्प भी मिलता है:

अधिसूचना अद्यतन


1
इस सवाल का जवाब कैसे देता है?
जादूड्रे

"ऑटो अपडेट को रोकने का एक तरीका" - यह मजबूर ऑटो अपडेट से छुटकारा पाने का एक तरीका है। और उन्हें रोकने के लिए, विंडोज अपडेट सेटिंग्स> उन्नत विकल्प> अपडेट अपडेट> पर जाएं। मैंने इसे उत्तर में जोड़ दिया है। (आपके पास विंडोज अपडेट के बाद और भी विकल्प हैं।)
काई नैक

0

PowerShell द्वारा सभी विंडोज़ अपडेट अक्षम करें

(प्रशासक के रूप में पॉवरशेल चलाएं)

Clear-Host

$WindowsUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\"
$AutoUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"

If(Test-Path -Path $WindowsUpdatePath) {
    Remove-Item -Path $WindowsUpdatePath -Recurse
}

New-Item $WindowsUpdatePath -Force
New-Item $AutoUpdatePath -Force

Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 1

Get-ScheduledTask -TaskPath "\Microsoft\Windows\WindowsUpdate\" | Disable-ScheduledTask

takeown /F C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator /A /R
icacls C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator /grant Administrators:F /T

Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\" | Disable-ScheduledTask

Stop-Service wuauserv
Set-Service wuauserv -StartupType Disabled

Write-Output "All Windows Updates were disabled"

0

जबकि मैंने सेवाओं और समूह नीति संपादक में अद्यतन को अक्षम कर दिया है, यह अभी भी समय-समय पर वापस आता है। फिर मुझे मैन्युअल रूप से उन्हें सेवाओं में बंद करना होगा। जीयूआई के माध्यम से ऐसा करना परेशानी भरा है, इसलिए मैंने एक बैच स्क्रिप्ट लिखी। यह रुक जाता है और अस्त Background Intelligent Transfer Service- व्यस्त हो जाता है Windows Update

@echo off

net stop wuauserv
net stop BITS

sc config wuauserv start= disabled
sc config BITS start= disabled

pause

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.