Parando todas as atualizações automáticas do Windows 10

75

Atualizamos algumas máquinas para o Windows 10 e percebemos que havia algumas atualizações atualizadas conforme necessário. No entanto, percebi que não havia opção disponível para interromper o download semelhante ao do Windows 7 e 8.1. A única maneira de interromper o download foi parar o serviço Windows Update .

Minha pergunta é: alguém sabe como interromper atualizações automáticas ou interromper o serviço é a única solução?

Izzy
fonte
4
Se você possui o Windows 10 Home, isso não pode ser feito. Se você possui o Windows 10 Professional, pode adiar as atualizações por até 8 meses. se você possui o Windows 10 Enterprise, pode adiar as atualizações, indicando o LSTB que deseja usar. Existe uma ferramenta que você pode baixar que permitirá adiar atualizações individuais se elas causarem um problema. Esta pergunta já foi feita várias vezes agora. .
Ramhound 29/07
Além disso, no final do dia, para receber futuras atualizações de segurança, seu sistema deve ter todas as atualizações necessárias, mesmo se você estiver executando o Windows 10 Professional. KB3073930 é a ferramenta que você deseja se deseja ocultar / adiar atualizações individuais.
Ramhound 29/07
@ Ramhound Entendo que as atualizações de segurança serão necessárias, etc., mas às vezes você apenas deseja pausá-las e iniciá-las mais tarde. Estamos executando a versão pro. Você saberia onde posso encontrar a ferramenta que você mencionou no seu comentário?
Izzy
2
Parar e adiar são duas coisas diferentes.
Moab
2
Observe que todas as respostas aqui abrangem apenas as atualizações do Windows Update, mas não está claro se a pergunta foi feita para cobrir isso. O Windows 10 parece ter dois outros métodos internos de atualização: as atualizações do driver de dispositivo são controladas separadamente (Sistema e rarr; Configurações avançadas do sistema e rarr; Hardware e rarr; Configurações de instalação do dispositivo parecem cobrir isso) e a atualização automática dos aplicativos da loja é controlada por meio do Loja (acho que isso também impedirá que o Candy Crush Soda Saga, por exemplo, seja instalado automaticamente).
Doshea

Respostas:

40

se você possui a Pro Edition, abra a pesquisa do editor de política de grupo (gpedit.msc)Configure automatic updates , localizada em:

computer configuration → administrative templates → windows components → windows update

insira a descrição da imagem aqui

e selecione Notify for download and notify for install.

Quando o Windows detecta novas atualizações, ele mostra uma notificação de brinde .

insira a descrição da imagem aqui

Você também pode usar a solução de problemas da Atualização KB3073930 para desativar algumas atualizações problemáticas, para que elas não sejam instaladas novamente.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Esta é a maneira oficial da Microsoft de impedir a instalação de atualizações e drivers indesejados.

Mas existe uma ferramenta de terceiros chamada Windows Update MiniTool que permite selecionar quais atualizações podem ser instaladas e bloquear as atualizações como você poderia nas versões anteriores do Windows.

insira a descrição da imagem aqui

Uma alternativa para o padrão Windows Update O que você pode fazer:
• Verificar atualizações
• Baixar atualizações
• Instalar atualizações
• Eliminar atualizações instaladas
ocultar atualizações indesejados
• Obter links diretos para os arquivos * .cab / * .exe / * .psf atualização
• Exibir histórico de atualizações
Configurar atualizações automáticas
• Esta ferramenta é como o módulo PSShindowsUpdate do módulo powershell externo, mas possui recursos muito mais avançados e fáceis de usar
• A ferramenta depende e usa a mesma infraestrutura de WU, todos os downloads são feitos através da WU e não são um downloader

O usuário slavanap postou uma segunda ferramenta em um comentário que permite instalar seletivamente atualizações. Ele é chamado Atualização Manual do Windows10 e está disponível no github :

insira a descrição da imagem aqui.

Na atualização de criadores do Windows 10, há uma opção para interromper as atualizações do Windows por 35 dias:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

insira a descrição da imagem aqui

insira a descrição da imagem aqui

insira a descrição da imagem aqui

em Configurações, aplicativo, onde estão as opções do Windows Update.

magicandre1981
fonte
2
E se você tiver a edição Home?
Coronel Panic
11
@ColonelPanic tente definir o valor AUOptions em HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU como 2 . Isto funciona?
magicandre1981
11
Não acho que o MiniTool seja de código aberto. Por favor, consulte este open source a solução mais simples como executar o Windows manutenção 10 Atualização semelhante a versões do Windows penetrável github.com/slavanap/Windows10ManualUpdate
Vyacheslav Napadovsky
3
@ magicandre1981 Sabotagem? Isso não é exatamente um "obrigado" por reparar um link sem saída.
2
-1 não porque a culpa é sua, mas porque sua resposta está desatualizada. O Windows agora ativa novamente o Windows Update, mesmo após todas as soluções alternativas clássicas.
Mehrdad 29/05
10

Um dos aspectos mais controversos do Windows 10 é a decisão da Microsoft de tornar as atualizações obrigatórias. Se você possui edições do Windows 10 Pro, Enterprise ou Education, pode adiar as atualizações, mas não pode rejeitá-las completamente .

Se você não estiver satisfeito com a instalação forçada de atualizações no seu sistema sem a sua opinião, poderá bloquear esta função usando o W10Privacy .

Se você nunca ouviu falar desse programa antes, vale a pena conferir, pois o software lhe dá controle sobre as muitas funções de privacidade do Windows 10, permitindo impedir que o SO bisbilhote o que faz. As opções são codificadas por cores para que você possa ver rapidamente se algo é seguro para alterar / desativar ou não.

No W10Privacy 2 , agora você pode definir o programa para desativar o próprio mecanismo de atualização do Windows 10 e substituí-lo pelo seu. Os usuários podem escolher quais atualizações instalar e quais ignorar. Isso não é algo que todos deveriam fazer, mas você pode reverter facilmente as etapas necessárias.

Antes de poder usar esta função, você precisa baixar alguns componentes adicionais. Siga esses passos:

  • Baixe o W10Privacy 2 e descompacte-o em uma pasta no seu disco rígido.
  • Faça o download do PsExec (parte do pacote PsTools ) e copie-o na pasta W10Privacy.
  • Baixe o módulo Windows Update PowerShell da Technet e descompacte-o em uma subpasta na pasta W10Privacy.
  • Clique com o botão direito W10Privacy.exee escolha Executar como administrador no menu de contexto. Escolha fazer um ponto de restauração do sistema. Também vale a pena fazer um backup completo do sistema (apenas no caso).
  • Vá para Extras> Atualizações do Windows para gerenciar as opções. Existem seis caixas de seleção diferentes. Nenhum está ativado por padrão. Eles são:
  • O módulo PSWindows Update existe (deve ser fornecido anteriormente pelo usuário à pasta W10Privacy).
  • PsExec.exe na pasta W10Privacy (deve ser fornecida pelo usuário). W10Privacy adaptação do PSWindows-Update Module.
  • Configure o servidor WSUS falso.

  • W10Privacy está localizado em um caminho / pasta sem espaços. Não considere drivers na Pesquisa de atualização.

  • Supondo que você deseja gerenciar atualizações manualmente, verifique as cinco primeiras opções. A sexta opção permite que você decida se deseja listar os drivers juntamente com as atualizações. Isso é com você.
  • Clique em Definir configurações alteradas, clique no botão Iniciar verificação de atualizações e você verá todas as novas atualizações que ainda precisam ser instaladas e pode escolher qual ação executar.

Captura de tela

Quando você estiver no comando de suas atualizações, execute o software regularmente e verifique se não perde nenhuma atualização importante;

insira a descrição da imagem aqui

Créditos:

  1. Como obter controle total sobre as atualizações automáticas do Windows 10
xavier_fakerat
fonte
11
A melhor solução, pois impede totalmente o Windows de ver as atualizações.
Marcus
oh não .. Por que não há um único comando. Alguém me dê uma porta, esta janela é alta para andar por aí.
Mustkeem K
6

Com a ajuda do @Ramhound, consegui descobrir como interromper as atualizações automáticas no Windows 10.

Observe que isso se aplica ao Windows 10 Pro , pois é a versão que estou executando.

Para interromper as atualizações automáticas, você pode fazer o seguinte:

  1. Abrir configurações
  2. Clique em Atualização e segurança
  3. Clique em Advanced options insira a descrição da imagem aqui
  4. Verifique se a Defer upgradesopção está marcada insira a descrição da imagem aqui
  5. Feche a janela de configurações e pronto!

Atualizar

Conforme mencionado nos comentários de @Vinayak, a opção de adiamento também está disponível para usuários domésticos. Mais informações aqui

Izzy
fonte
Enquanto você está lá, pode ver se existe um serviço Windows Update que pode ser desativado nos serviços. Wuauserv ou wuaueng.dll ou algo assim? para quem pode usar um método diferente?
Psycogeek 29/07
11
O Wuauservserviço @Psycogeek está lá e pode ser parado / desativado. Foi assim que parei as atualizações originalmente #
Izzy
5
Grande parte da web está fazendo parecer que o mundo vai parar de girar, se as atualizações do Windows 10 estão paradas :-) e como o botão não existe em algumas edições. Estou assumindo que você não teve nenhum problema com isso? a polícia dos sonhos não invadiu seus pesadelos, o sistema operacional não entrou em colapso e nenhum animal de estimação foi ferido no processo :-) Eu acho que essas perguntas e respostas aqui são bem feitas e podem ser reutilizadas para controle de atualização W10 semelhante questões .
Psycogeek
5
Observe que a Microsoft cedeu e agora adia as atualizações também estão disponíveis para usuários do Windows 10 Home .
Vinayak
11
adiar interrompe a atualização para uma versão mais recente como 1511 (atualização de novembro de 2015) ou 1607 (atualização de aniversário em julho de 2016) e mantém você recebendo atualizações automáticas para a versão mais antiga.
Magicandre1981
4

windows_update_toggle
O retrabalho maciço dos arquivos em lote anteriores alterna o conjunto em um único script com bloqueio de práticas recomendadas!
Assista em ação

Clique com o botão direito do mouse na interface do usuário dinâmica do menu de contexto com alternância para tudo!
Ativar / desativar todos os blocos, Renovar (de pastebin) ou desinstalar opções de script

Ocultar / Mostrar / Instalar listas de atualização com o contador!
As listas são atualizadas automaticamente sempre que o Windows o incomoda via MusNotification!

Bloquear de forma independente Atualizações de compilação, Instalações automáticas, Downloads, Serviço
Bloqueio seguro de IFEO sem alterações destrutivas de propriedade, exclusão de arquivos ou remoção de tarefas

O foco é definido nas atualizações do Defender que funcionam de forma independente.
Desativar as atualizações automáticas do windows mayhem não sacrificará a camada de proteção interna,
diferente de qualquer outro "gerenciamento" de atualizações do 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
}
//

Última atualização para v10.0 final. Código atualizado no link pastebin acima.

AveYo
fonte
Alguma chance de você me dizer como conseguiu os menus do Windows para ter um fundo preto ?!
wayofthefuture
11
Esse é um tema baseado em alto contraste, disponível aqui: pastebin.com/fA3t5Sd2
AveYo
4

Para usuários domésticos do Windows 10

Experimente o seguinte método no Windows Central . Basicamente, você desabilitará o serviço de reinicialização, não o serviço de atualização. Você pode reiniciar quando quiser. Observe que você precisa de privilégios de administrador, mas presumo que você já o possua, pois está usando o Windows Home Edition.

  1. Em uma janela do Windows Explorer, renomeie o arquivo: C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot(assumindo que você %windir%é C:\) para Reboot.old. Observe que você será solicitado a acessar o administrador aqui.
  2. Crie um diretório chamado Rebootno C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\. Isso impedirá que o Windows recrie um arquivo com o mesmo nome. Observe que você será solicitado a acessar o administrador aqui.
  3. Reinicie a máquina. Isso redefinirá todos os serviços e impedirá que o serviço de reinicialização seja iniciado.

Observe que isso não é promovido pela Microsoft. Mas, novamente, nenhum dos dois está controlando seu próprio cronograma de inicialização, portanto, leve esse MS! Sério, se você não sabe o que está fazendo, entenda os riscos que está correndo, seguindo as instruções da Internet. Isso certamente é simples o suficiente para que o entendimento do Windows 95 ajude a explicar o que está acontecendo aqui.

Sablefoste
fonte
3

O estado do Windows Update - a partir de 2019

A Microsoft tem se esforçado ao máximo para tornar o Windows Update inevitável, e é por isso que os métodos tradicionais não funcionam mais ou funcionam apenas por um tempo limitado.

A Microsoft vem adicionando serviços do sistema que não podem ser desabilitados cujo objetivo é atualizar o Windows. O principal deles é o Update Orchestrator Service , encarregado de baixar, instalar e verificar as atualizações. Se parado, o computador não poderá mais baixar e instalar as atualizações, motivo pelo qual só poderá ser desativado para a sessão atual e será reativado na próxima reinicialização.

O serviço encarregado de tornar o Windows Update imparável é o novo Windows Update Medic Service , encarregado de manter o Windows Update funcionando. É esse serviço que desfaz todos os métodos tradicionais de bloqueio do Windows Update, para que periodicamente e inesperadamente se descubra que as configurações do Windows Update foram redefinidas para seus valores originais e que o Windows voltou a forçar atualizações sobre o usuário.

O próprio Windows Update Medic Service não pode ser desabilitado. Qualquer tentativa de fazer isso terminará com a mensagem "Acesso negado".

No entanto, existe um produto de terceiros que pode bloquear totalmente o Windows Update: Windows Update Blocker . Este produto gratuito é portátil e pode desativar / ativar o Windows Update com um clique. De fato, ele também pode bloquear qualquer outro serviço do Windows desbloqueável. É relatado como ainda funcionando em 2018.

O uso de um produto de terceiros pode, a longo prazo, ser mais seguro do que depender dos recursos semi-documentados do Windows, que podem ser alterados sem aviso prévio. Alguns produtos gratuitos podem ser encontrados nesta resposta minha, que usa a API do Windows que permite a qualquer programa vetar um desligamento iminente.

harrymc
fonte
2

Finalmente encontrei uma correção permanente que simplesmente funciona

Depois de tentar literalmente todos os truques do livro, sempre fui superado pelo Windows Update. Eu tentei todas as soluções aqui, além de muitas outras fontes, e o Windows constantemente encontrava maneiras de frustrar meus planos.

Até cerca de 6 meses atrás ...

Eu encontrei uma solução permanente para desativar TODAS as atualizações do Windows SEMPRE, independentemente de o serviço ou qualquer outra coisa estar em execução. Eu descobri esse método com a ajuda de muitas fontes diferentes que tinham a ver com muitas coisas diferentes. No geral, eu mesmo encontrei esse método com o uso de bits e outras informações usadas para fazer coisas que não estavam relacionadas a isso, mas funciona. E funciona absolutamente lindamente.

  1. Instale o Proxy DNS Acrílico a partir daqui

É basicamente uma versão aprimorada do arquivo hosts do Windows que permite adicionar funções como curingas, o que é necessário no nosso caso, devido às muitas fontes nas quais o Windows recebe suas atualizações.

  1. Siga as instruções aqui para fazer o Acrylic começar a fazer seu trabalho no Win 10. Coisas bem simples.

  2. Vá para o menu Iniciar e clique em " Editar arquivo de hosts acrílicos " em Todos os programas, mostrados aqui

  3. Adicione essas linhas na parte inferior do arquivo hosts, sem sinais # na frente.

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

Agora, a parte inferior do arquivo deve ser semelhante a este . Salve e feche o arquivo.

  1. Abra o gerenciador de tarefas, vá para a guia serviços, clique em "Abrir serviços" na parte inferior, selecione Proxy DNS acrílico e clique neste botão com o círculo vermelho para reiniciar o serviço.

ACABADO

Agora, seu amigo do Acrylic deve ficar de olho e constantemente vigiar as táticas do Big Brother da Microsoft para garantir que não possam forçar o pobre idoso a instalar atualizações que atrapalham completamente o seu PC e que têm pelo menos um quarto das vezes que fiz isso no meu PC em casa e no meu Surface Pro, que deveria ser o PC CONSTRUÍDO para Windows, certo ??? Vamos, Microsoft!

  1. Verifique se está funcionando, executando ping em qualquer um dos sites no código acima. Cmd aberto e tipo

ping windowsupdate.microsoft.com

Se estes são os seus resultados, você será dourado a partir de agora !!

Nota: na minha experiência, isso não diminuiu o ritmo do meu PC. Ele também não redireciona nenhum tráfego da Internet, além de solicitações às fontes que o Windows usa para atualizar ou procurar atualizações, muito parecidas com o arquivo hosts. Ele também usa basicamente o mesmo formato que o arquivo hosts. Isso também desativou com êxito a reinstalação do lixo que o Windows continua colocando no meu computador, o que dá a essa tela colorida gigante dizendo algo como "você deve atualizar ou seu computador vai implodir". Obviamente, não me lembro do que o aviso dizia, já que faz tanto tempo desde que o recebi (devido ao bloqueio completamente bem-sucedido há 6 meses), mas foi a coisa mais irritante que já vi.

Jackary Smith
fonte
hahahaha. Oh cara. esta resposta é justa. Uau. Esperto. muito esperto. Eu simplesmente não consigo enfatizar o quão boa é essa resposta. milhões de pessoas chegam à porta da frente, onde há centenas de defesas. mas essa solução vem do lado em que não há defesas e as defesas de construção não seriam realmente possíveis por causa do design da internet.
Trevor Boyd Smith
se você tem um roteador / gateway / caixa de rede doméstica sofisticado com recursos DNS sofisticados ... então pode IMO fazer algo semelhante.
Trevor Boyd Smith
1

Desativar serviço de atualização

  1. Win+R > services.msc
  2. Clique duas vezes em Windows Update e altere o Tipo de inicialização para Desativado. Para reativar, volte aos serviços e altere para automático.

Fonte: Como controlar as atualizações do Windows 10

Ooker
fonte
1

Para o meu caso, quero não apenas controlar quando as atualizações do Windows são executadas, mas também limitar todos os aplicativos instalados fora de controle em suas atualizações online.

Portanto, minha solução simples é: 1. Bloqueie o acesso à Internet do host no lado do roteador. Nenhum dos programas ou serviços instalados no host pode acessar a Internet. As atualizações do Windows causais também estão bloqueadas.

  1. Instale um servidor proxy Squid na rede local e atribua o proxy aos aplicativos que você permitir que eles acessem a Internet. Não defina proxy no painel de controle | Internet Option, porque esse é um proxy global para todo o sistema operacional que anula a etapa 1.

A maioria dos aplicativos suporta configurações de proxy baseadas em aplicativos, como Chrome, Firefox, Todos os tipos de jogos etc.

  1. Para os aplicativos que não oferecem suporte à configuração de proxy local, use o NAS Cloud fold como Cloud Proxy. Por exemplo, os fatos do Office 365 não oferecem suporte por proxy do programa. Em seguida, você pode configurar um NAS Cloud Sync (por exemplo, o Synology NAS possui sincronização em nuvem para sincronizar o OneDrive) para sincronizar o conteúdo em uma dobra do NAS e usá-la como dobra local do Office 365. Os benefícios extras dessa maneira são obter respostas muito rápidas em arquivos grandes, porque você está usando a velocidade da rede local para acessar o OneDrive.

Ao fazer isso, o acesso à Internet do seu computador é muito controlado por você, ninguém pode atrapalhar você.

Sempre que você quiser atualizar o Windows, defina Painel de Controle | Opção da Internet para usar seu proxy local; portanto, o Windows pode atualizar seu sistema operacional. Depois disso, desligue o proxy global imediatamente para deixar seu computador em um mundo completamente tranquilo.

Jack Wu
fonte
0

Dois anos depois e bilhões de trabalhos não salvos perdidos pelo mecanismo de atualização da Microsoft, finalmente há uma grande atualização que resolve o problema.

Atualização do Windows 10 Creators agora disponível ( Download Direto )

Depois de instalar a atualização, o usuário finalmente perguntará novamente (como aqueles insignificantes há mais de 20 anos) se deseja que a atualização seja aplicada:

win10 nova mensagem de atualização antiga

Às vezes me pergunto quem está por trás dessas decisões ...

Após a atualização, você terá mais opções sobre os horários de atualização. Para interrompê-los, vá para Configurações do Windows Update> Opções avançadas> Pausar atualizações> LIGADO .

pausar atualizações

Em Opções de reinicialização, você também encontra uma nova opção para notificações de atualização:

atualizações de notificação

Kai Noack
fonte
11
como isso responde a pergunta?
magicandre1981
"uma maneira de parar as atualizações automáticas" - Esta é uma maneira de se livrar das atualizações automáticas forçadas. E para interrompê-los, vá para Configurações do Windows Update> Opções avançadas> Pausar atualizações> LIGADO. Eu adicionei isso à resposta. (Você tem ainda mais opções após o Windows Update.)
Kai Noack
0

Desativar todas as atualizações do Windows pelo PowerShell

(execute o PowerShell como administrador)

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
fonte
0

Enquanto eu desabilitei a atualização nos Serviços e no Editor de Diretiva de Grupo, ela ainda é ativada periodicamente. Então eu tenho que desativá-los manualmente nos Serviços. Fazer isso por meio da GUI é problemático, então escrevi um script em lote. Para e desativa Background Intelligent Transfer Servicee Windows Update.

@echo off

net stop wuauserv
net stop BITS

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

pause

Também estou usando (não especificamente para isso) uma ferramenta leve de monitor de rede (Bandwidth Monitor), para saber quando há uma atividade (um ícone na bandeja do sistema). Se eu vir uma atividade em que não deveria haver, sei que o Windows Update foi ativado novamente. Então eu executo o script e ele está desligado.

akinuri
fonte