Зупинка всіх автоматичних оновлень Windows 10


75

Ми оновили деякі машини до Windows 10 і зрозуміли, що були деякі оновлення, які оновлювались у міру необхідності. Однак я зрозумів, що немає можливості зупинити завантаження, подібне до Windows 7 та 8.1. Єдиний спосіб я міг зупинити завантаження - зупинити службу оновлення Windows .

Моє запитання: чи хтось знає про спосіб зупинити автоматичне оновлення або зупинка послуги - єдине рішення?


4
Якщо у вас є Windows 10 Home, цього зробити неможливо. Якщо у вас є Windows 10 Professional, ви можете відкладати оновлення до 8 місяців. якщо у вас є Windows 10 Enterprise, ви можете відкласти оновлення, якщо ви вказали LSTB, який хочете використовувати. Існує інструмент, який ви можете завантажити, який дозволить вам відкладати окремі оновлення, якщо вони спричиняють проблеми. Це питання вже задавали кілька разів. .
Рамхаунд

Крім того, наприкінці дня для отримання нових оновлень безпеки ваша система повинна мати всі необхідні оновлення, навіть якщо ви працюєте з Windows 10 Professional. KB3073930 - це інструмент, який ви хочете, якщо ви хочете приховати / відкласти окремі оновлення.
Рамхаунд

@Ramhound Я розумію, що потрібні будуть оновлення безпеки тощо, але іноді потрібно просто призупинити їх і запустити їх згодом. Ми працюємо про версію. Чи знаєте ви, де я можу отримати той інструмент, про який ви згадали у своєму коментарі?
Ізи

2
Зупинка та відстрочка - це 2 різні речі.
Моаб

2
Зауважте, що всі відповіді тут стосуються лише оновлень з оновлення Windows, але незрозуміло, чи мається на увазі це питання. Схоже, у Windows 10 є два вбудовані способи оновлення: оновлення драйверів пристрою керуються окремо (Система & rarr; Розширені налаштування системи & rarr; Налаштування обладнання & rarr; Налаштування інсталяції пристрою, як правило, охоплюють це), а автоматичне оновлення програм Store контролюється через Магазин (я думаю, це також зупинить автоматичну установку Candy Crush Soda Saga).
doshea

Відповіді:


40

якщо у вас версія Pro, відкрийте редактор групової політики (gpedit.msc) для пошуку Configure automatic updatesзапису, який знаходиться за адресою:

computer configuration → administrative templates → windows components → windows update

введіть тут опис зображення

і виберіть Notify for download and notify for install.

Коли Windows виявляє нові оновлення, вона показує тост-сповіщення .

введіть тут опис зображення

Ви також можете скористатися засобом усунення несправностей з оновлення KB3073930, щоб відключити деякі проблемні оновлення, щоб вони не були встановлені знову.

введіть тут опис зображення

введіть тут опис зображення

Це офіційний спосіб від Microsoft запобігти налаштуванню небажаних оновлень та драйверів.

Але є сторонній інструмент під назвою Windows Update MiniTool, який дозволяє вибрати, які оновлення можна встановити, і дозволяє блокувати оновлення, як ви могли в попередніх версіях Windows.

введіть тут опис зображення

Альтернатива стандартній версії Windows Update Що ви можете зробити:
• Перевірити наявність оновлень
• Завантажити оновлення
• Встановити оновлення
• Видалити встановлені оновлення
Приховати небажані оновлення
• Отримати прямі посилання на файли оновлення * .cab / * .Exe / * .Psf
• Перегляд історії оновлень
Налаштування автоматичних оновлень
• Цей інструмент схожий на зовнішній модуль PSWindowsUpdate, але набагато більш досконалі та зручні функції
• Інструмент покладається та використовує ту саму інфраструктуру WU, все завантаження здійснюється через WU, це не завантажувач

Користувач slavanap розмістив у коментарі 2-й інструмент, який дозволяє вибірково встановлювати оновлення. Він називається Windows10 Manual Update і доступний на github :

введіть тут опис зображення.

У оновленнях для творців Windows 10 є можливість зупинити оновлення Windows на 35 днів:

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

у розділі Налаштування програми, де є параметри оновлення Windows.


2
Що робити, якщо у вас є домашнє видання?
Полковник Паніка

1
@ColonelPanic спробуйте встановити значення AUOptions у HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU до 2 . Це працює?
magicandre1981

1
Я не думаю, що MiniTool є відкритим кодом. Будь ласка, зверніться до цього відкритого коду найпростішого рішення, як виконати технічне обслуговування Windows 10 Update, схоже на звичні
В'ячеслав Нападовський

3
@ magicandre1981 Саботаж? Це не зовсім "спасибі" за те, що виправили тупикову та тупикову ланку.

2
-1 не тому, що це ваша вина, а тому, що ваша відповідь застаріла. Тепер Windows повертає оновлення Windows навіть після всіх класичних способів вирішення.
Мехрдад

10

Один з найбільш суперечливих аспектів щодо Windows 10 - це рішення Microsoft зробити оновлення обов'язковими. Якщо у вас є версії Windows 10 Pro, Enterprise або Education, ви можете відкласти оновлення, але ви не можете їх відкинути прямо .

Якщо ви не задоволені тим, що Microsoft насильно встановлює оновлення у вашій системі, не говорячи про них, ви можете заблокувати цю функцію за допомогою конфіденційності W10 .

Якщо ви ще не чули про цю програму раніше, то варто перевірити, оскільки програмне забезпечення дає вам контроль над багатьма функціями конфіденційності Windows 10, що дозволяє вам не допустити того, що ОС переглядає те, що ви робите. Параметри кольорові, тому ви можете з першого погляду побачити, чи можна щось безпечно змінити / відключити чи ні.

У W10Privacy 2 тепер ви можете встановити програму для відключення власного механізму оновлення Windows 10 та замінити його на власний. Користувачі можуть вибрати, які оновлення встановлювати, а які ігнорувати. Це не те, що кожен повинен робити, але ви можете легко змінити кроки, якщо вам потрібно.

Перш ніж використовувати цю функцію, потрібно завантажити деякі додаткові компоненти. Виконайте такі дії:

  • Завантажте W10Privacy 2 і розпакуйте його до папки на жорсткому диску.
  • Завантажте PsExec (частина пакету PsTools ) і скопіюйте його в папку W10Privacy.
  • Завантажте модуль PowerShell Windows Update від Technet і розпакуйте його до підпапки в папці конфіденційності W10.
  • Клацніть правою кнопкою миші W10Privacy.exeта виберіть Запустити як адміністратор у контекстному меню. Виберіть точку відновлення системи. Також варто зробити повне резервне копіювання системи (про всяк випадок).
  • Перейдіть у меню Додаткові елементи> Оновлення Windows, щоб керувати параметрами. Є шість різних прапорців. Жоден за умовчанням не включений. Вони є:
  • Модуль оновлення PSWindows існує (повинен бути наданий користувачем раніше в папку конфіденційності W10P).
  • PsExec.exe у папці конфіденційності W10 (повинен бути наданий користувачем). W10Перевірка конфіденційності модуля оновлення PSWindows.
  • Налаштування фальшивого сервера WSUS.

  • W10Приватність знаходиться у шляху / папці без пробілів. Не враховуйте драйвери в Оновленні пошуку.

  • Припустимо, що ви хочете керувати оновленнями вручну, перевірте перші п’ять варіантів. Шостий варіант дозволяє вирішити, чи слід перераховувати драйвери поряд із оновленнями. Це залежить від вас.
  • Клацніть Налаштувати змінені налаштування, потім натисніть кнопку Почати перевірку оновлень, і вам з’являться нові оновлення, які ще не встановлені, і ви можете вибрати, яку дію зробити.

Знімок екрана

Після того, як ви відповідаєте за свої оновлення, регулярно запускайте програмне забезпечення і перевіряйте, щоб не пропустити жодних важливих оновлень;

введіть тут опис зображення

Кредити:

  1. Як отримати повний контроль над автоматичними оновленнями Windows 10

1
Найкраще рішення, оскільки воно повністю заважає Windows взагалі бачити оновлення.
Маркус

о ні .. Чому немає єдиної команди. Хтось дасть мені двері, щоб це вікно було високо для прогулянки.
Mustkeem K

6

За допомогою @Ramhound мені вдалося розібратися, як зупинити автоматичні оновлення для Windows 10.

Зверніть увагу, це стосується Windows 10 Pro, оскільки це версія, яку я запускаю.

Щоб зупинити автоматичні оновлення, ви можете зробити наступне:

  1. Відкрийте Налаштування
  2. Клацніть на Оновлення та безпека
  3. Натисніть на Advanced options введіть тут опис зображення
  4. Переконайтеся, що Defer upgradesпараметр встановлений введіть тут опис зображення
  5. Закрийте вікно налаштувань, і все, що ви зробили!

Оновлення

Як було сказано в коментарях @Vinayak, опція відкладання тепер доступна і для домашніх користувачів. Додаткову інформацію тут


Не дивлячись на те, що ви шукаєте, чи можете ви побачити, чи є служба оновлення Windows, яку просто можна відключити в службах. Wuauserv або wuaueng.dll чи щось? для тих, хто може використовувати інший метод?
Psycogeek

1
Сервіс @Psycogeek Wuauservє і його можна зупинити / відключити. Так я спочатку зупинив оновлення
Іззі

5
Значна частина Інтернету звучить так, ніби світ перестане обертатися, якщо зупинки оновлень для Windows 10 :-) і як кнопка не існує в деяких виданнях. Я припускаю, що у вас не було проблем з цим? Поліція мрії не вторглася у ваші кошмари, ОС не розвалилася на кулю, і жодним домашнім тваринам не було пошкоджено в процесі :-) Я думаю, що це питання добре зроблено, і його можна повторно використовувати для аналогічного контролю оновлення W10. питання.
Psycogeek

5
Зауважте, що Microsoft ввімкнула і тепер оновлення Defer доступні і для користувачів Windows 10 Home .
Виняк

1
відкладення зупиняє оновлення до нової версії, наприклад 1511 (оновлення листопада 2015 р.) або 1607 р. (ювілейне оновлення в липні 2016 р.), а також отримує автоматичне оновлення для старішої версії.
magicandre1981

4

windows_update_toggle
Масивна переробка попередніх пакетних файлів переключає набір в єдиний сценарій з найкращими методами блокування!
Дивіться це в дії

Динамічне користувальницьке контекстне меню, що працює правою кнопкою миші, з перемикачами на все!
Увімкніть / вимкніть усі блоки, відновіть (із пастіна) або видаліть параметри сценарію

Сховати / приховати / встановити списки оновлень за допомогою лічильника!
Списки автоматично оновлюються щоразу, коли Windows б потіснила вас через MusNotification!

Самостійно блокуйте оновлення збірок , автоматичні встановлення, завантаження,
безпечне блокування IFEO без деструктивних змін власності, видалення файлів або видалення завдань

Фокус встановлений на оновленнях Defender, що працюють незалежно.
Відключення вікон, хаос, автоматичні оновлення не принесуть шкоди вбудованому захисному шару,
на відміну від будь-якого іншого -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
}
//

Востаннє оновлено для версії 10.0.0. Оновлений код на пастбінному посиланні вище.


Будь-який шанс ви могли сказати мені, як у вас у меню Windows з'явився чорний фон ?!
майбутнього

1
Це тема на основі контрастності, доступна тут: pastebin.com/fA3t5Sd2
AveYo

4

Для домашніх користувачів Windows 10

Спробуйте наступний метод від Windows Central . В основному ви відключите послугу перезавантаження, а не службу оновлення. Потім ви можете перезавантажити, коли захочете. Зверніть увагу: вам потрібні права адміністратора, але я вважаю, що ви вже їх маєте, оскільки використовуєте Windows Home Edition.

  1. У вікні провідника Windows перейменуйте файл: C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot(якщо вважати, що він %windir%є C:\) на Reboot.old. Зауважте, вам буде запропоновано доступ адміністратора тут.
  2. Створіть каталог, названий Rebootв C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\. Це не дозволить Windows відтворити файл з тим же ім'ям. Зауважте, вам буде запропоновано доступ адміністратора тут.
  3. Перезавантажте машину. Це скине всі сервіси та не дасть запустити послугу перезавантаження.

Зауважте, Microsoft не сприяє цьому. Але знову ж таки, ви не контролюєте свій графік завантаження, тому прийміть цю MS! Серйозно, якщо ви не знаєте, що ви робите, розумієте ризики, які ви берете на себе, дотримуючись будь-яких вказівок від Інтернету. Це, звичайно, досить просто, що розуміння Windows 95 допоможе пояснити, що тут відбувається.


3

Стан оновлення Windows - початок 2019 року

Microsoft докладає великих зусиль, щоб зробити оновлення Windows неминучим, тому традиційні методи вже не працюють або працюють лише обмежений час.

Microsoft додає системні сервіси, які неможливо відключити, метою яких є оновлення Windows. Головною з них є Служба оновлення оркестрових служб , яка має завдання завантажити, встановити та перевірити оновлення. Якщо зупинено, комп'ютер більше не може завантажувати та встановлювати оновлення, через що його можна відключити лише для поточного сеансу та буде повторно включено при наступному перезавантаженні.

Послуга, яка стягує роботу з оновленням Windows Update, - це нова служба Windows Update Medic , на яку покладено завдання підтримувати функцію оновлення Windows. Саме ця послуга скасовує всі традиційні способи блокування оновлення Windows, щоб періодично та несподівано з’ясовуватись, що налаштування оновлення Windows були скинуті до початкових значень і що Windows повернулася до примусового оновлення користувача.

Саму службу Windows Update Medic не можна взагалі відключити. Будь-яка спроба зробити це закінчиться повідомленням "Доступ заборонено".

Тим не менш, існує сторонній продукт, який може повністю блокувати оновлення Windows : Засоби оновлення Windows . Цей безкоштовний продукт є портативним і може відключити / включити оновлення Windows одним клацанням миші. Насправді він також може блокувати будь-яку іншу розблоковану службу Windows. Повідомляється, що він все ще працює у 2018 році.

Використання стороннього продукту може з часом бути надійнішим, ніж покладатися на напівдокументовані функції Windows, які можуть змінюватися без попереднього повідомлення. У цій моїй відповіді можна знайти ще кілька безкоштовних продуктів , які використовують API Windows, який дозволяє будь-якій програмі накласти вето на майбутнє відключення.


2

Нарешті знайшли постійне виправлення, яке просто працює

Перепробувавши буквально кожен трюк у книзі, мене завжди обіграло оновлення Windows. Я пробував тут кожне рішення, плюс багато інших джерел, і Windows постійно знаходила способи зірвати мої плани.

Приблизно 6 місяців тому ...

Я знайшов постійне рішення для відключення ВСІХ оновлень вікна НАВІЧО незалежно від того, працює або якась інша програма. Я з'ясував цей метод за допомогою безлічі різних джерел, які мали відношення до багатьох різних речей. В цілому, я знайшов цей метод сам із використанням бітів та фрагментів іншої інформації, яка використовується для того, щоб не всі стосуватися цього, але він працює. І працює абсолютно красиво.

  1. Установка акрилового DNS Proxy з тут

Це, в основному, суп-версія файлу файлів хостів Windows, яка дозволяє додавати функції, такі як підстановочні символи, що необхідно в нашому випадку через те, що багато джерел отримує оновлення від Windows.

  1. Наступні дії тут , щоб Акрилові почати робити свою роботу в Win 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 завантажити.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 stats.microsoft.com

Тепер в нижній частині файлу повинна виглядати це . Збережіть і закрийте файл.

  1. Відкрийте диспетчер завдань, перейдіть на вкладку "Послуги", натисніть "Відкрити служби" внизу, виберіть Акриловий проксі DNS і натисніть цю кнопку червоним колом, щоб перезапустити службу.

ЗАКОНЧЕНО

Тепер ваш акриловий приятель повинен мати вашу спину і постійно пильно стежити за тактикою Big Brother від Microsoft, щоб переконатися, що вони не зможуть змусити поганих старих встановити оновлення, які зіпсують ваш ПК повністю, що у них є щонайменше четверту частину часу, який вони зробив це як на моєму домашньому ПК, так і на моєму Surface Pro, який повинен бути ПК, побудований для Windows, правда ??? Cmon, Microsoft!

  1. Переконайтеся, що він працює, натиснувши будь-який із веб-сайтів у наведеному вище коді. Відкрийте cmd та введіть

ping windowsupdate.microsoft.com

Якщо це ваші результати, відтепер ви будете золотими !!

Примітка: з мого досвіду, це зовсім не сповільнило мій ПК. Він також не перенаправляє будь-який Інтернет-трафік, окрім запитів до джерел, які Windows використовує для оновлення чи перевірки на оновлення, настільки схожий на файл хостів. Він також використовує в основному той же формат, що і файл хостів. Це також успішно відключило перевстановлення сміття, яке Windows постійно розміщує на моєму комп’ютері, що дає цьому гігантському кольоровому екрану, що говорить щось на кшталт "Ви повинні оновити, або ваш комп'ютер буде імплодувати". Очевидно, я не пам’ятаю, що сказано в попередженні, оскільки минуло так довго, як я його отримав (через цілком успішне блокування 6 місяців або близько тому), але це було найприємнішою справою, яку я коли-небудь бачив.


хахахаха. о людино. ця відповідь справедлива. Ого. розумний. дуже розумний. я просто не можу підкреслити, наскільки хороша ця відповідь. мільйони людей приходять біля вхідних дверей, де є сотні оборонців. але це рішення стоїть на тій стороні, де немає оборонних засобів, і захист будівель насправді був би неможливий через дизайн Інтернету.
Тревор Бойд Сміт

якщо у вас є фантазійний маршрутизатор / шлюз / домашня мережа-коробка з вигадливими функціями DNS ... тоді ви можете IMO зробити щось подібне.
Тревор Бойд Сміт

1

Вимкнути службу оновлення

  1. Win+R > services.msc
  2. Двічі клацніть Оновлення Windows та змініть Тип запуску на Інвалід. Щоб знову ввімкнути, поверніться до сервісів і змініть його на автоматичне.

Джерело: Як контролювати оновлення Windows 10


1

У моєму випадку я хочу не лише контролювати, коли йдуть оновлення Windows, але й обмежувати всі встановлені програми поза контролем над їх оновленнями в Інтернеті.

Тож моє просте рішення для зупинки: 1. Блокуйте доступ до Інтернету для хоста на стороні маршрутизатора. Жодна з програм або служб, встановлених на хості, не може отримати доступ до Інтернету. Безкоштовні оновлення Windows також заблоковані.

  1. Встановіть проксі-сервер Squid в локальну мережу та надайте проксі тим програмам, яким ви дозволяєте їм перейти в Інтернет. Не встановлюйте проксі на панелі керування | Інтернет-варіант, тому що це глобальний проксі-сервер, який взагалі анулює крок 1.

Більшість програм підтримують налаштування проксі на основі додатків, такі як Chrome, Firefox, Усі види ігор тощо.

  1. Для тих додатків, які не підтримують налаштування локальних проксі, використовуйте хмарну складку NAS як Cloud Proxy. Наприклад, костюми Office 365 не підтримують проксі-сервер програми. Потім можна налаштувати NAS Cloud Sync (наприклад, Synology NAS має хмарну синхронізацію для синхронізації OneDrive) для синхронізації конусів у складі NAS, потім ви будете використовувати цю складку як локальну складку Office 365. Додатковими перевагами цього способу є те, що ви отримуєте дійсно швидку відповідь на великі файли, оскільки використовуєте швидкість локальної мережі для доступу до OneDrive.

Роблячи це, доступ до Інтернету на вашому комп'ютері дуже сильно контролюється, і ніхто не може вас зіпсувати.

Щоразу, коли потрібно оновити Windows, встановіть Панель управління | Інтернет-можливість використовувати ваш локальний проксі, отже Windows може оновити вашу ОС. Після цього негайно вимкніть глобальний проксі, щоб перетворити комп’ютер у спокійний, цілком світ.


0

Через 2 роки і мільярди незбережених робіт, втрачених механізмом оновлення Microsoft, нарешті є основне оновлення, яке вирішує проблему.

Зараз доступне оновлення для Windows 10 Creators ( Пряме завантаження )

Після встановлення оновлення користувач, нарешті, знову запитає (як, наприклад, незначні 20+ років тому), чи хоче він застосовувати оновлення:

нове старе повідомлення оновлення win10

Іноді мені цікаво, хто стоїть за тими рішеннями ...

Після оновлення у вас є більше варіантів щодо часу оновлення. Щоб зупинити їх, перейдіть у Налаштування оновлення Windows> Додаткові параметри> Призупинити оновлення> УВІМКНЕНО .

призупинити оновлення

У розділі «Параметри перезапуску» ви також знайдете новий варіант сповіщень про оновлення:

оновлення сповіщень


1
як це відповідає на питання?
magicandre1981

"спосіб зупинити автоматичне оновлення" - Це один із способів позбутися від форсованих оновлень автоматично. А щоб зупинити їх, перейдіть у Налаштування оновлення Windows> Додаткові параметри> Призупинити оновлення> УВІМКНЕНО. Я додав це до відповіді. (У вас є ще більше варіантів після оновлення Windows.)
Кай Ноак

0

Вимкніть усі оновлення Windows PowerShell

(запустіть 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

Незважаючи на те, що я відключив оновлення в Редакторі служб та групових політик, воно час від часу вмикається. Тоді мені доведеться вручну відключити їх у Сервісах. Робити це через GUI - клопітка, тому я написав пакетний сценарій. Він зупиняється і вимикається 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

Я також використовую (не спеціально для цього) інструмент монітора легкої мережі (Monitorwidth Monitor), тому я знаю, коли є активність (піктограма в системному треї). Якщо я бачу активність, коли її не повинно бути, я знаю, що оновлення Windows увімкнено. Потім я запускаю сценарій і він вимикається.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.