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

62

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

A minha pergunta é alguém sabe de uma maneira de parar as atualizações automáticas ou está parando o serviço é a única solução?

    
por Izzy 29.07.2015 / 17:19

11 respostas

39

se você tiver a edição Pro, abra a política de grupo editor (gpedit.msc) procure pela entrada Configure automatic updates , localizada em:

computer configuration → administrative templates → windows components → windows update

eselecioneNotifyfordownloadandnotifyforinstall.

QuandooWindowsdetectanovasatualizações ele mostra uma notificação de notificação .

Vocêtambémpodeusarosolucionadordeproblemasem Atualizar KB3073930 para desativar algumas atualizações problemáticas, para que elas sejam não instalado novamente.

EstaéamaneiraoficialdaMicrosoftparaimpedirainstalaçãodeatualizaçõesedriversindesejados.

Masháumaferramentadeterceiroschamada Windows Update MiniTool que permite selecionar quais atualizações podem ser instaladas e permite bloquear atualizações como você poderia em versões anteriores do Windows.

AnalternativetothestandardWindowsUpdateWhatyoucando:
•Checkforupdates
•Downloadupdates
•InstallingUpdates
•Deletinginstalledupdates
Hidingunwantedupdates
•Getdirectlinkstothe*.cab/*.Exe/*.Psfupdatefiles
•Viewupdatehistory
ConfigureAutomaticUpdates
•ThistoolisliketheexternalpowershellmodulePSWindowsUpdate,butmuchmoreadvancedanduser-friendlyfeatures
•ThetoolreliesandusesameWUinfrastructure,alldownloadingarethroughWUit'snotadownloader

Ousuário slavanap postou uma segunda ferramenta em um comentário que permite que você instale atualizações de forma seletiva. É chamado de Atualização Manual do Windows10 e está disponível no github :

.

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

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

    
por 31.07.2015 / 06:58
10

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

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

If you haven’t heard of this program before it’s well worth checking out as the software gives you control over Windows 10’s many privacy functions, allowing you to prevent the OS snooping on what you do. Options are color coded so you can see at a glance whether something is safe to change/disable or not.

In W10Privacy 2, you can now set the program to disable Windows 10’s own update mechanism and replace it with its own. Users can choose which updates to install, and which to ignore. This isn't something everyone should do, but you can easily reverse the steps should you need to.

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

  • Faça o download do W10Privacy 2 e descompacte-o em uma pasta em seu disco rígido.
  • Faça o download de PsExec (parte do pacote PsTools ) e copie-o para a pasta W10Privacy.
  • Faça o download do Módulo do PowerShell do Windows Update em Technet e descompacte-o em uma subpasta na pasta W10Privacy.
  • Clique com o botão direito do mouse em W10Privacy.exe e escolha Executar como administrador no menu de contexto. Escolha para fazer um ponto de restauração do sistema. Também vale a pena fazer um backup completo do sistema (apenas no caso).
  • Ir 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 de atualização do PSWindows existe (deve ser fornecido anteriormente pelo usuário para a pasta W10Privacy).
  • PsExec.exe na pasta W10Privacy (deve ser fornecido pelo usuário). W10Proteção de privacidade 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 as atualizações manualmente, verifique os cinco primeiros opções. A sexta opção permite que você decida se deseja listar os drivers ao lado de atualizações. Isso é com você.
  • Clique em Definir configurações alteradas e, em seguida, clique em Iniciar verificação de atualizações botão e você verá qualquer nova atualização que ainda não foi instalado e pode escolher qual ação tomar.

Depoisquevocêestiverencarregadodasatualizações,executeosoftwareregularmenteeverifiquesenãoestáfaltandoatualizaçõesimportantes.

Créditos:

  1. Como obter controle total sobre as atualizações automáticas do Windows 10
por 23.03.2017 / 10:40
6

Com a ajuda do @Ramhound, consegui descobrir como parar 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 Atualizar & segurança
  3. Clique em Advanced options
  4. VerifiqueseaopçãoDeferupgradesestámarcada
  5. Fecheajaneladeconfiguraçõesepronto!

Atualizar

Comomencionadonoscomentáriosde@Vinayak,aopçãodeadiamentoagoraestádisponívelparausuáriosdomésticos.Maisinformações aqui

    
por 29.07.2015 / 17:59
3

Para usuários domésticos do Windows 10

Experimente o seguinte método em windowscenteral.com . Basicamente, Você desativará o serviço de reinicialização, não o serviço de atualização. Você pode então reiniciar quando quiser. Tenha em atenção que necessita de privilégios de administrador, mas suponho que já o tenha desde que é o Windows Home Edition.

  1. Em uma janela do Windows Explorer, renomeie o arquivo: C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot (assumindo que seu %windir% é C:\ para Reboot.old. Observação, você será solicitado a acessar o administrador aqui.
  2. Crie um diretório chamado Reboot in C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\ . Isso impedirá que as janelas criem um arquivo com o mesmo nome. Note 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.

Por favor, note que isto não é promovido pela Microsoft. Mas, novamente, nenhum dos dois está controlando o seu próprio cronograma de inicialização, então leve esse MS! Sério, se você não sabe o que está fazendo, compreenda os riscos que corre ao seguir qualquer direção da Internet. Isso é certamente simples o suficiente para que uma compreensão do Windows 95 ajudasse a explicar o que está acontecendo aqui.

    
por 17.09.2017 / 19:24
3


Retrabalhomaciçodearquivosdeloteanteriores alternar suite em um único script com bloqueio de práticas recomendadas!
Assista em ação

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

Hide / Unhide / Instalar listas de atualização com contador!
As listas são atualizadas automaticamente sempre que o Windows te incomodar via MusNotification!

Bloqueie independentemente as atualizações, as instalações automáticas, os downloads, o serviço em bloqueio seguro IFEO sem alterações destrutivas de propriedade, excluindo arquivos ou removendo tarefas

Foco definido nas atualizações do Defender trabalhando de forma independente
Desabilitando as atualizações automáticas do Windows mayhem não sacrificará a camada de proteção integrada,
diferente de qualquer other -DIY- atualiza "gerenciamento"

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%\shellUpgrades"   /v MUIVerb /d "Upgrades %[T]% [setuphost]    %toggle%" /f %.%
reg add "%menu%\shellUpgrades\command" /ve /d "%task%\upgrades" /f %.%
call :status wuauclt
reg add "%menu%\shellInstalls"   /v MUIVerb /d "Installs %[T]% [wuauclt]    %toggle%" /f %.%
reg add "%menu%\shellInstalls\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%\shellDownloads"  /v MUIVerb /d "Downloads ( ! ) %[T]% [trustedinstaller]    %toggle%" /f %.%
reg add "%menu%\shellDownloads\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%\shellService"    /v MUIVerb /d "Service ( ! ) %[T]% [wuauserv]    %toggle%" /f %.%
reg add "%menu%\shellService\command" /ve /d "%task%\service" /f %.%
call :status wermgr
reg add "%menu%\shellReport"    /v MUIVerb /d "Report    %[T]% %toggle%" /f %.%
reg add "%menu%\shellReport\command" /ve /d "%task%\report" /f %.%
call :status SpeechRuntime
reg add "%menu%\shellSpeech"    /v MUIVerb /d "Speech    %[T]% %toggle%" /f %.%
reg add "%menu%\shellSpeech\command" /ve /d "%task%\speech" /f %.%
call :status SearchUI
reg add "%menu%\shellSearch"    /v MUIVerb /d "SearchUI  %[T]% %toggle%" /f %.%
reg add "%menu%\shellSearch\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%\shellDefender"  /v MUIVerb /d "Defender  %[T]% %toggle%" /f %.%
reg add "%menu%\shellDefender\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%\shellSetup" /v MUIVerb /d "windows_update_toggle.bat v10.0" /f %.%
reg add "%menu%\shellSetup" /v SubCommands /d "" /f %.%
reg add "%menu%\shellSetup\shellToggle" /v MUIVerb /d "%toggle%" /f %.%
reg add "%menu%\shellSetup\shellRenew"  /v MUIVerb /d "Renew" /f %.%
reg add "%menu%\shellSetup\shellRemove" /v MUIVerb /d "Remove" /f %.%
reg add "%menu%\shellSetup\shellToggle\command" /ve /d "%task%\toggle" /f %.%
reg add "%menu%\shellSetup\shellRenew\command"  /ve /d "%task%\renew" /f %.%
reg add "%menu%\shellSetup\shellRemove\command" /ve /d "%task%\remove" /f %.%
if "%toggle%"=="Disable" (
 reg add "%menu%\shellRefresh" /v MUIVerb /d "Refresh" /f %.%
 reg add "%menu%\shellRefresh\command" /ve /d "%task%\refresh" /f %.%
 reg add "%menu%\shellLists" /v MUIVerb /d "Hide / Unhide / Apply %[T]% enabled" /f %.%
 reg add "%menu%\shellLists\command" /ve /d "%task%\lists" /f %.%
 reg add "%menu%\shellRepair"     /v MUIVerb /d "Troubleshooter" /f %.%
 reg add "%menu%\shellRepair\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%\shellLists" /v MUIVerb /d "Hide / Unhide / Apply %[T]% %toggle%" /f %.%
reg add "%menu%\shellRefresh" /v MUIVerb /d "Refresh" /f %.%
reg add "%menu%\shellRefresh\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%\shellRefresh" /f %.%
)
call :refresh lists
exit/b

:upgrades
echo %0 %*
call :flip SetupHost
reg add "%menu%\shellUpgrades"   /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%\shellInstalls"   /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%\shellDownloads" /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%\shellDownloads" /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%\shellService" /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%\shellReport"    /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%\shellSpeech"    /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%\shellSearch"    /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%\shellDefender"  /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 a v10.0 final. Código atualizado no link pastebin acima.

    
por 27.03.2018 / 02:29
2

Desativar serviço de atualização

  1. Win + R > %código%
  2. Clique duas vezes no 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

    
por 04.12.2017 / 05:10
1

Para o meu caso, eu quero não apenas controlar quando as atualizações do Windows forem usadas, mas também limitar todos os aplicativos instalados a ficarem fora de controle em suas atualizações on-line.

Portanto, a minha solução simples e única é: 1. Bloqueie o acesso à Internet do host no lado do roteador. Nenhum dos programas ou serviços instalados no host pode acessar a Internet. O Windows Update também está bloqueado.

  1. Instale um Squid Proxy Server na rede local e forneça o proxy para os aplicativos que permitem que eles acessem a Internet. Não defina proxy no Painel de Controle | Opção de Internet, causa que é o proxy global do OS que anula o passo 1 de todo.

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

  1. Para aqueles aplicativos que não suportam a configuração de proxy local, use a nuvem NAS Dobre como Cloud Proxy. Por exemplo, as ações do Office 365 não suportam por proxy de programa. Você pode configurar um NAS Cloud Sync (por exemplo, o Synology NAS tem sincronização em nuvem para sincronizar o OneDrive) para sincronizar os consentimentos em uma dobra do NAS, em seguida, você usa essa dobra como a dobra local do Office 365. Benefícios extras dessa maneira é que você obtém uma resposta muito rápida em arquivos grandes, pois está usando a velocidade da rede local para acessar o OneDrive.

Ao fazer isso, o acesso à internet do seu computador é controlado por você mesmo, ninguém pode bagunçar você.

Sempre que você quiser atualizar o Windows, defina Painel de Controle | Opção de Internet para usar seu proxy local, portanto, o Windows pode atualizar seu sistema operacional. Depois disso, desligue o proxy global imediatamente para colocar seu computador em um mundo de paz e tranquilidade novamente.

    
por 21.07.2018 / 22:04
0

2 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 20+ anos antes) se quiser que a atualização seja aplicada:

Àsvezesmeperguntoquemestáportrásdessasdecisões...

Apósaatualização,vocêtemmaisopçõessobreostemposdeatualização.Parapará-los,váparaConfiguraçõesdoWindowsUpdate>Opçõesavançadas>PausarAtualizações>ON.

EmOpçõesdereinicialização,vocêtambémencontraráumanovaopçãoparanotificaçõesdeatualização:

    
por 14.07.2017 / 08:50
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"
    
por 12.04.2018 / 09:57
0

Eu uso o "Windows Update Blocker" da Sordum. É um Freeware portátil e funciona mesmo,

Aquiestáolinkdapáginainicial: link

    
por 07.05.2018 / 00:57
0

Finalmente encontrei uma correção permanente que apenas funciona

Depois de tentar literalmente todo truque no livro, eu sempre fui superado pelo Windows Update. Eu tentei todas as soluções aqui, além de muitas outras fontes, e o Windows constantemente encontrou maneiras de frustrar meus planos.

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

Eu encontrei uma solução permanente para desabilitar TODAS as atualizações do Windows FOREVER, independentemente de o serviço ou qualquer outra coisa estar sendo executada. Eu descobri este 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 todas relacionadas a isso, mas funciona. E funciona absolutamente lindamente.

  1. Instale proxy de DNS em acrílico em aqui

É basicamente uma versão simplificada do arquivo de hosts do Windows que permite adicionar funções como curingas, o que é necessário no nosso caso por causa das muitas fontes das quais as janelas obtêm suas atualizações.

  1. Siga as instruções aqui para criar Acrílico comece a fazer seu trabalho no Win 10. Coisas bem simples.

  2. Vá para o menu Iniciar e clique em " Acrílico Hosts File " em Todos os Programas, mostrado aqui

  3. Adicione essas linhas à 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 se parecer com isto . 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 Acrylic DNS Proxy e clique em este botão com o círculo vermelho para reiniciar o serviço.

TERMINADO

Agora, o seu amigo Acrílico deve estar sempre de olho nas táticas do Big Brother da Microsoft para garantir que não seja possível forçar você a instalar atualizações que atrapalham completamente o seu PC. eles têm pelo menos um quarto do tempo que fizeram no meu PC em casa e no meu Surface Pro que é supostamente o PC BUILT para Windows, certo ??? Cmon, Microsoft!

  1. Verifique se está funcionando fazendo o ping em qualquer um dos sites no código acima. Abra o cmd e digite

ping windowsupdate.microsoft.com

Se estes forem seus resultados, você será dourado a partir de agora !!

Nota: na minha experiência, isso não diminuiu a velocidade do meu PC. Ele também não redireciona nenhum tráfego da Internet, além de solicitações para as origens que o Windows usa para atualizar ou verificar atualizações, de modo muito semelhante ao arquivo de hosts. Ele também usa basicamente o mesmo formato do arquivo hosts. Isso também desativou com êxito a reinstalação de lixo que o Windows mantém colocando no meu computador que dá a tela colorida gigante dizendo algo como "você deve atualizar ou o computador irá implodir". Obviamente, não me lembro do que o aviso disse desde que faz tanto tempo desde que o obtive (devido ao bloqueio bem-sucedido de 6 meses atrás), mas foi a coisa mais irritante que já vi.

    
por 13.10.2018 / 21:36