Остановка всех автоматических обновлений Windows 10

75

Мы обновили некоторые машины до Windows 10 и поняли, что есть некоторые обновления, которые обновляются по мере необходимости. Тем не менее, я понял, что не было никакой возможности остановить загрузку, аналогичную загрузке в Windows 7 и 8.1. Единственный способ остановить загрузку - остановить службу Windows Update .

Мой вопрос: кто-нибудь знает, как остановить автоматическое обновление или остановка службы является единственным решением?

Иззи
источник
4
Если у вас Windows 10 Home, этого сделать нельзя. Если у вас Windows 10 Professional, вы можете отложить обновления до 8 месяцев. если у вас Windows 10 Enterprise, вы можете отложить обновления, если вы указали LSTB, который вы хотите использовать. Вы можете скачать инструмент, который позволит вам отложить отдельные обновления, если они вызывают проблемы. Этот вопрос уже задавался несколько раз. ,
Ramhound
Кроме того, в конце дня для получения будущих обновлений безопасности ваша система должна иметь все необходимые обновления, даже если вы работаете в Windows 10 Professional. KB3073930 - это инструмент, который вам нужен, если вы хотите скрыть / отложить отдельные обновления.
Ramhound
@ Ramhound Я понимаю, что потребуются обновления для системы безопасности и т. Д., Но иногда вы просто хотите приостановить их и запустить позже. Мы работаем про версию. Вы случайно не знаете, где я могу получить инструмент, который вы упомянули в своем комментарии?
Иззи
2
Остановка и отсрочка это 2 разные вещи.
Моав
2
Обратите внимание, что все ответы здесь касаются только обновлений из Центра обновления Windows, но неясно, предназначен ли вопрос для этого. В Windows 10, по-видимому, есть два других встроенных метода обновления: обновления драйверов устройств контролируются отдельно (Системные настройки & rarr; Аппаратные средства & rarr; Настройки установки устройства, кажется, покрывают это), и автоматическое обновление приложений Магазина контролируется через Магазин (думаю, это также остановит автоматическую установку Candy Crush Soda Saga, например).
доша

Ответы:

40

если у вас есть Pro Edition, откройте редактор групповой политики (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 Что вы можете сделать:
• проверить наличие обновлений
• загрузить обновления

установить обновления • удалить установленные обновления
скрыть нежелательные обновления
• получить прямые ссылки на файлы обновлений * .cab / * .Exe / * .Psf
• Просмотр истории обновлений
Настройка автоматических обновлений
• Этот инструмент похож на внешний модуль PowerShell PSWindowsUpdate, но гораздо более продвинутые и удобные для пользователя функции
• Инструмент использует и использует ту же инфраструктуру WU, все загрузки выполняются через WU, это не загрузчик

Пользователь slavanap разместил 2-й инструмент в комментарии, который позволяет выборочно устанавливать обновления. Оно называется Windows10 Manual Update и доступно на github :

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

В обновлении для создателей Windows 10 есть возможность остановить обновления Windows на 35 дней:

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

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

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

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

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

в настройках приложения, где находятся параметры Центра обновления Windows.

magicandre1981
источник
2
Что делать, если у вас есть домашняя версия?
полковник Паник
1
@ColonelPanic попытаться установить значение AUOptions под HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU к 2 . Это работает?
magicandre1981
1
Я не думаю, что MiniTool с открытым исходным кодом. Пожалуйста , обратитесь этим открытым исходный кодом самого простым решением , как выполнить Windows , техническое обслуживание 10 Обновления аналогичны проницаемую версию Windows , github.com/slavanap/Windows10ManualUpdate
Вячеслав Нападовский
3
@ magicandre1981 Саботаж? Это не совсем «спасибо» за исправление тупиковой ссылки.
2
-1 Не потому что это твоя вина, а потому что твой ответ устарел. Теперь Windows снова включает Центр обновления Windows даже после всех классических обходных путей.
Мердад
10

Одним из наиболее противоречивых аспектов Windows 10 является решение Microsoft сделать обязательные обновления. Если у вас есть выпуски Windows 10 Pro, Enterprise или Education, вы можете отложить обновления, но вы не можете отклонить их напрямую .

Если вы недовольны тем, что Microsoft принудительно устанавливает обновления в вашей системе без вашего согласия , вы можете заблокировать эту функцию с помощью W10Privacy .

Если вы не слышали об этой программе до того, как ее стоит проверить, она дает вам контроль над многими функциями конфиденциальности в Windows 10, позволяя предотвратить слежку ОС за тем, что вы делаете. Параметры имеют цветовую кодировку, так что вы можете сразу увидеть, безопасно или нет что-то изменить или отключить.

В W10Privacy 2 теперь вы можете настроить программу на отключение собственного механизма обновления Windows 10 и заменить его собственным. Пользователи могут выбирать, какие обновления устанавливать, а какие игнорировать. Это не то, что должен делать каждый, но вы можете легко поменять шаги, если вам нужно.

Прежде чем вы сможете использовать эту функцию, вам необходимо загрузить некоторые дополнительные компоненты. Следуй этим шагам:

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

  • W10Privacy находится в пути / папке без пробелов. Не учитывайте драйверы в поиске обновлений.

  • Предполагая, что вы хотите управлять обновлениями вручную, отметьте первые пять опций. Шестая опция позволяет вам решать, следует ли перечислять драйверы вместе с обновлениями. Это зависит от вас.
  • Нажмите Установить измененные параметры, затем нажмите кнопку Начать проверку обновлений, и вам будут показаны все новые обновления, которые еще не установлены, и вы сможете выбрать, какое действие предпринять.

Скриншот

Как только вы отвечаете за свои обновления, регулярно запускайте программное обеспечение и проверяйте, чтобы не пропустить ни одного важного обновления;

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

Кредиты:

  1. Как получить полный контроль над автоматическими обновлениями Windows 10
xavier_fakerat
источник
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 будут остановлены :-) и как кнопка не существует в некоторых выпусках. Я полагаю, у вас не было проблем с этим? полиция мечты не вторглась в ваши ночные кошмары, операционная система не рухнула, и ни один из питомцев не пострадал в процессе :-) Я думаю, что этот Q & A здесь хорошо сделан и может быть повторно использован для аналогичного контроля обновления W10 вопросов .
Psycogeek
5
Обратите внимание, что Microsoft сдала и теперь отложенные обновления доступны и для пользователей Windows 10 Home .
Винаяк
1
defer останавливает обновление до более новой версии, такой как 1511 (обновление за ноябрь 2015 г.) или 1607 (обновление за годовщину в июле 2016 г.), и позволяет автоматически получать обновления для более старой версии.
magicandre1981
4

windows_update_toggle
Массовая переделка предыдущих пакетных файлов переключает пакет в единый скрипт с блокировкой лучших практик!
Смотреть это в действии

Desktop правой кнопкой мыши контекстное меню динамического интерфейса с переключателями для всего!
Включить / выключить все блоки, обновить (из pastebin) или удалить параметры сценария

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

Самостоятельно блокируйте обновления сборки, автоматические установки, загрузки, безопасную блокировку службы
IFEO без каких-либо разрушительных изменений владельца, удаления файлов или удаления задач.

Фокус установлен на обновления Защитника, работающие независимо
Отключение автоматических обновлений Windows может привести к потере встроенного уровня защиты, в
отличие от других «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 final. Актуальный код по ссылке выше.

AveYo
источник
Есть ли какой-нибудь шанс, что вы скажете мне, как у ваших оконных меню черный фон ?!
путь в будущее
1
Это тема с высокой контрастностью, доступная здесь: pastebin.com/fA3t5Sd2
AveYo
4

Для пользователей Windows 10 Home

Попробуйте следующий метод из 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\. Это будет препятствовать тому, чтобы окна воссоздали файл с тем же именем. Обратите внимание, вам будет предложено для доступа администратора здесь.
  3. Перезагрузите машину. Это сбросит все службы и предотвратит запуск службы перезагрузки.

Обратите внимание, что это не продвигается Microsoft. Но опять же, ни один из них не контролирует ваш собственный график загрузки, так что возьмите MS! Серьезно, если вы не знаете, что делаете, понимайте риски, на которые вы идете, следуя указаниям вне Интернета. Это, безусловно, достаточно просто, чтобы понимание Windows 95 помогло объяснить, что здесь происходит.

Sablefoste
источник
3

Состояние Windows Update - начало 2019 года

Microsoft прилагает большие усилия, чтобы сделать Центр обновления Windows неизбежным, поэтому традиционные методы больше не работают или работают только в течение ограниченного времени.

Microsoft добавляет системные службы, которые нельзя отключить, целью которых является обновление Windows. Главным среди них является служба обновлений Orchestrator , которой поручено загружать, устанавливать и проверять обновления. Если компьютер остановлен, он больше не сможет загружать и устанавливать обновления, поэтому его можно отключить только для текущего сеанса, и он будет повторно включен при следующей перезагрузке.

Служба, на которую возложена ответственность за отключение Центра обновления Windows, - это новая служба Windows Update Medic , задачей которой является обеспечение функционирования Центра обновления Windows. Именно эта служба отменяет все традиционные методы блокировки Центра обновления Windows, так что периодически и неожиданно можно обнаружить, что параметры Центра обновления Windows были сброшены до их первоначальных значений и что Windows вернулась к принудительному обновлению пользователя.

Сама служба Windows Update Medic не может быть отключена вообще. Любая попытка сделать это закончится сообщением «Доступ запрещен».

Тем не менее, существует сторонний продукт, который может полностью блокировать Windows Update: Windows Update Blocker . Этот бесплатный продукт является портативным и может отключить / включить Центр обновления Windows одним щелчком мыши. Фактически, он также может блокировать любую другую неблокируемую службу Windows. Сообщается, что все еще работает в 2018 году.

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

harrymc
источник
2

Наконец-то нашел постоянное исправление, которое просто работает

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

Примерно 6 месяцев назад ...

Я нашел постоянное решение для отключения ВСЕХ обновлений Windows НАВСЕГДА независимо от того, запущена служба или что-то еще. Я выяснил этот метод с помощью множества различных источников, которые имели отношение ко многим различным вещам. В целом, я нашел этот метод сам с использованием кусочков другой информации, используемой для выполнения действий, которые не все были связаны с этим, но он работает. И это работает абсолютно красиво.

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

Это в основном продвинутая версия файла хостов Windows, которая позволяет вам добавлять такие функции, как подстановочные знаки, что необходимо в нашем случае, поскольку многие источники Windows получают свои обновления.

  1. Следуйте инструкциям здесь, чтобы Acrylic начал делать свою работу в Win 10. Довольно простые вещи.

  2. Перейдите в меню «Пуск» и нажмите « Редактировать файл акриловых хостов » в разделе «Все программы», показанном здесь.

  3. Добавьте эти строки в конец файла hosts, без знаков # впереди.

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 stats.microsoft.com

Теперь нижняя часть файла должна выглядеть следующим образом . Сохраните и закройте файл.

  1. Откройте диспетчер задач, перейдите на вкладку «Службы», нажмите «Открыть службы» внизу, выберите « Acrylic DNS Proxy» и нажмите эту кнопку с красным кружком, чтобы перезапустить службу.

ЗАКОНЧЕННЫЙ

Теперь ваш собеседник Acrylic должен иметь вашу спину и постоянно следить за тактикой Microsoft Big Brother, чтобы быть уверенным, что он не заставит вас, бедняжка, устанавливать обновления, которые полностью портят ваш компьютер, что у них есть как минимум в четвертую часть времени, когда они сделал это и на моем домашнем ПК, и на моем Surface Pro, который должен быть ПОСТРОЕННЫМ для Windows, верно ??? Cmon, Microsoft!

  1. Убедитесь, что он работает, отправив эхо-запрос на любой из веб-сайтов в приведенном выше коде. Откройте cmd и введите

пинг windowsupdate.microsoft.com

Если это ваши результаты, вы будете золотыми теперь !!

Примечание: по моему опыту, это совсем не замедлило мой компьютер. Он также не перенаправляет интернет-трафик, кроме запросов к источникам, которые Windows использует для обновления или проверки обновлений, что очень похоже на файл hosts. Он также использует в основном тот же формат, что и файл hosts. Это также успешно отключило переустановку мусора, который Windows продолжает размещать на моем компьютере, который дает этому гигантскому цветному экрану что-то вроде «Вы должны обновить, или ваш компьютер взорвется». Очевидно, я не помню, что говорилось в предупреждении, поскольку прошло так много времени с тех пор, как я его получил (из-за совершенно успешного блокирования примерно 6 месяцев назад), но это была самая досадная вещь, которую я когда-либо видел.

Джекри Смит
источник
Хахаха. о чувак. этот ответ справедливый. Ух ты. умная. очень умно. я просто не могу подчеркнуть, насколько хорош этот ответ. миллионы людей приходят к входной двери, где есть сотни защит. но это решение приходит на стороне, где нет защиты, и строительство защиты не было бы возможно из-за дизайна интернета.
Тревор Бойд Смит
если у вас есть модный маршрутизатор / шлюз / домашняя сеть с необычными функциями DNS ... тогда вы могли бы сделать что-то подобное в IMO.
Тревор Бойд Смит
1

Отключить службу обновления

  1. Win+R > services.msc
  2. Дважды щелкните Центр обновления Windows и измените Тип запуска на Отключено. Для повторного включения вернитесь к сервисам и измените его на автоматический.

Источник: Как управлять обновлениями Windows 10

Ooker
источник
1

В моем случае я хочу не только контролировать, когда идут обновления Windows, но и ограничивать все установленные приложения из-под контроля их онлайн-обновлений.

Итак, мое простое универсальное решение: 1. Блокировать доступ в Интернет для хоста на стороне маршрутизатора. Ни одна из программ или служб, установленных на хосте, не может получить доступ к Интернету. Обновления Windows также заблокированы.

  1. Установите прокси-сервер Squid в локальной сети и предоставьте прокси тем приложениям, которые разрешают им выходить в интернет. Не устанавливать прокси на панели управления | Опция Internet, потому что это глобальный прокси-сервер в масштабах всей ОС, который вообще отменяет шаг 1.

Большинство приложений поддерживают настройки прокси для каждого приложения, такие как Chrome, Firefox, все виды игр и т. Д.

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

Делая это, доступ к Интернету вашего компьютера в значительной степени контролируется вами, никто не может испортить вас.

Всякий раз, когда вы хотите обновить Windows, установите Панель управления | Интернет Возможность использовать ваш локальный прокси, поэтому Windows может обновить вашу ОС. После этого немедленно отключите глобальный прокси-сервер, чтобы ваш компьютер снова стал спокойным.

Джек Ву
источник
0

Спустя 2 года и миллиарды несохраненных работ, потерянных механизмом обновления Microsoft, наконец-то появилось крупное обновление, которое решает проблему.

Доступно обновление для создателей Windows 10 ( прямая загрузка )

После установки обновления пользователь, наконец, снова спросит (как и те незначительные 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"
frakon
источник
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

Я также использую (не специально для этого) легкий сетевой монитор (Bandwidth Monitor), поэтому я знаю, когда есть активность (значок на панели задач). Если я вижу активность, когда ее не должно быть, я знаю, что Центр обновления Windows снова включен. Затем я запускаю скрипт, и он выключен.

akinuri
источник