Detener todas las actualizaciones automáticas de Windows 10

75

Hemos actualizado algunas máquinas a Windows 10 y nos dimos cuenta de que había algunas actualizaciones que se actualizaron según sea necesario. Sin embargo, me di cuenta de que no había una opción disponible para detener la descarga similar a la de Windows 7 y 8.1. La única forma en que pude detener la descarga fue detener el servicio de actualización de Windows .

Mi pregunta es ¿alguien sabe de alguna manera de detener las actualizaciones automáticas o si detener el servicio es la única solución?

Izzy
fuente
44
Si tiene Windows 10 Home, esto no se puede hacer. Si tiene Windows 10 Professional, puede diferir las actualizaciones hasta 8 meses. si tiene Windows 10 Enterprise, puede diferir las actualizaciones siempre que haya indicado el LSTB que desea usar. Hay una herramienta que puede descargar que le permitirá diferir las actualizaciones individuales si causan un problema. Esta pregunta ya se ha hecho varias veces ahora. .
Ramhound
Además, al final del día, para recibir futuras actualizaciones de seguridad, su sistema debe tener todas las actualizaciones necesarias, incluso si está ejecutando Windows 10 Professional. KB3073930 es la herramienta que desea si desea ocultar / diferir actualizaciones individuales.
Ramhound
@Ramhound Entiendo que se requerirán actualizaciones de seguridad, etc., pero a veces solo desea pausarlas e iniciarlas más adelante. Estamos ejecutando la versión pro. ¿Sabrías dónde puedo obtener la herramienta que mencionaste en tu comentario?
Izzy
2
Parar y diferir son 2 cosas diferentes.
Moab
2
Tenga en cuenta que todas las respuestas aquí solo cubren actualizaciones de Windows Update, pero no está claro si la pregunta está destinada a cubrir eso. Windows 10 parece tener otros dos métodos integrados de actualización: las actualizaciones del controlador del dispositivo se controlan por separado (Sistema y rarr; Configuración avanzada del sistema y rarr; Hardware y rarr; La Configuración de instalación del dispositivo parece cubrir esto) y la actualización automática de las aplicaciones de la Tienda se controla a través de Store (creo que esto también evitará que Candy Crush Soda Saga, por ejemplo, se instale automáticamente).
doshea

Respuestas:

40

si tiene la Edición Pro, abra el editor de políticas de grupo (gpedit.msc) busque la Configure automatic updatesentrada, ubicada en:

computer configuration → administrative templates → windows components → windows update

ingrese la descripción de la imagen aquí

y selecciona Notify for download and notify for install.

Cuando Windows detecta nuevas actualizaciones , muestra una notificación de brindis .

ingrese la descripción de la imagen aquí

También puede usar el solucionador de problemas de la actualización KB3073930 para deshabilitar algunas actualizaciones problemáticas, de modo que no se instalen nuevamente.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Esta es la forma oficial de Microsoft para evitar la configuración de actualizaciones y controladores no deseados.

Pero existe una herramienta de terceros llamada Windows Update MiniTool que permite seleccionar qué actualizaciones se pueden instalar y permite bloquear actualizaciones como lo haría en versiones anteriores de Windows.

ingrese la descripción de la imagen aquí

Una alternativa a la actualización estándar de Windows Lo que puede hacer:
• Buscar actualizaciones
• Descargar actualizaciones
• Instalar actualizaciones
• Eliminar actualizaciones instaladas
Ocultar actualizaciones no deseadas
• Obtener enlaces directos a los archivos de actualización * .cab / * .Exe / * .Psf
• Ver el historial de actualizaciones
Configurar actualizaciones automáticas
• Esta herramienta es como el módulo externo PowerShell PSWindowsUpdate, pero características mucho más avanzadas y fáciles de usar
• La herramienta se basa y utiliza la misma infraestructura WU, todas las descargas se realizan a través de WU, no es un descargador

El usuario slavanap publicó una segunda herramienta en un comentario que le permite instalar actualizaciones selectivamente. Se llama Windows10 Manual Update y está disponible en github :

ingrese la descripción de la imagen aquí.

En la actualización de creadores de Windows 10, hay una opción para detener las actualizaciones de Windows durante 35 días:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

en Configuración de la aplicación donde están las opciones de Windows Update.

magicandre1981
fuente
2
¿Qué pasa si tienes la edición Home?
Coronel Panic
1
@ColonelPanic intenta establecer el valor AUOptions en HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU a 2 . ¿Esto funciona?
magicandre1981
1
No creo que MiniTool sea de código abierto. Consulte este código abierto, la solución más simple, cómo realizar el mantenimiento de la actualización de Windows 10, similar a las versiones anteriores de Windows github.com/slavanap/Windows10ManualUpdate
Vyacheslav Napadovsky
3
@ magicandre1981 ¿Sabotaje? Eso no es exactamente un "gracias" por reparar un enlace muerto y sin salida.
2
-1 no porque sea tu culpa, sino porque tu respuesta ahora está desactualizada. Windows ahora vuelve a activar Windows Update incluso después de todas las soluciones alternativas clásicas.
Mehrdad
10

Uno de los aspectos más controvertidos sobre Windows 10 es la decisión de Microsoft de hacer que las actualizaciones sean obligatorias. Si tiene las ediciones Windows 10 Pro, Enterprise o Education, puede diferir las actualizaciones, pero no puede rechazarlas directamente .

Si no está satisfecho con la instalación forzosa de actualizaciones de Microsoft en su sistema sin que usted lo diga, puede bloquear esta función con W10Privacy .

Si no ha oído hablar de este programa antes, vale la pena echarle un vistazo, ya que el software le da control sobre las numerosas funciones de privacidad de Windows 10, lo que le permite evitar que el sistema operativo espíe lo que hace. Las opciones están codificadas por colores para que pueda ver de un vistazo si algo es seguro para cambiar / deshabilitar o no.

En W10Privacy 2 , ahora puede configurar el programa para deshabilitar el mecanismo de actualización de Windows 10 y reemplazarlo por el suyo. Los usuarios pueden elegir qué actualizaciones instalar y cuáles ignorar. Esto no es algo que todos deberían hacer, pero puede revertir fácilmente los pasos si lo necesita.

Antes de poder utilizar esta función, debe descargar algunos componentes adicionales. Sigue estos pasos:

  • Descargue W10Privacy 2 y descomprímalo en una carpeta en su disco duro.
  • Descargue PsExec (parte del paquete PsTools ) y cópielo en la carpeta W10Privacy.
  • Descargue el Módulo PowerShell de Windows Update de Technet y descomprímalo en una subcarpeta en la carpeta W10Privacy.
  • Haga clic con el botón derecho W10Privacy.exey elija Ejecutar como administrador en el menú contextual. Elija hacer un punto de restauración del sistema. También vale la pena hacer una copia de seguridad completa del sistema (por si acaso).
  • Vaya a Extras> Actualizaciones de Windows para administrar las opciones. Hay seis casillas de verificación diferentes. Ninguno está habilitado por defecto. Son:
  • El módulo de actualización de PSWindows existe (el usuario debe proporcionarlo previamente en la carpeta W10Privacy).
  • PsExec.exe en la carpeta W10Privacy (debe ser proporcionado por el usuario). W10 Adaptación de privacidad del módulo PSWindows-Update.
  • Configurar falso servidor WSUS.

  • W10Privacy se encuentra en una ruta / carpeta sin espacios. No considere los controladores en la Búsqueda de actualizaciones.

  • Suponiendo que desea administrar las actualizaciones manualmente, marque las primeras cinco opciones. La sexta opción le permite decidir si desea enumerar los controladores junto con las actualizaciones. Esto depende de ti.
  • Haga clic en Establecer configuración modificada, luego haga clic en el botón Comenzar a buscar actualizaciones y se le mostrarán las actualizaciones nuevas que aún no se han instalado y puede elegir qué acción tomar.

Captura de pantalla

Una vez que esté a cargo de sus actualizaciones, ejecute el software regularmente y verifique que no se pierda ninguna actualización importante;

ingrese la descripción de la imagen aquí

Créditos

  1. Cómo obtener un control total sobre las actualizaciones automáticas de Windows 10
xavier_fakerat
fuente
1
La mejor solución, ya que evita por completo que Windows vea actualizaciones.
Marcus
oh no .. ¿Por qué no hay un solo comando? Alguien me de puerta esta ventana es alta para caminar.
Mustkeem K
6

Con la ayuda de @Ramhound, he logrado descubrir cómo detener las actualizaciones automáticas en Windows 10.

Tenga en cuenta que esto se aplica a Windows 10 Pro, ya que es la versión que estoy ejecutando.

Para detener las actualizaciones automáticas, puede hacer lo siguiente:

  1. Configuración abierta
  2. Haga clic en Actualización y seguridad
  3. Haga clic en Advanced options ingrese la descripción de la imagen aquí
  4. Asegúrese de que la Defer upgradesopción esté marcada ingrese la descripción de la imagen aquí
  5. ¡Cierra la ventana de configuración y listo!

Actualizar

Como se menciona en los comentarios de @Vinayak, la opción de aplazamiento ahora también está disponible para usuarios domésticos. Más información aquí.

Izzy
fuente
Mientras estás buscando, ¿podrías ver si hay un servicio de actualización de Windows que solo se puede deshabilitar en los servicios? ¿Wuauserv o wuaueng.dll o algo así? para aquellos que podrían usar un método diferente?
Psycogeek
1
El Wuauservservicio @Psycogeek está allí y se puede detener / deshabilitar. Así es como originalmente detuve las actualizaciones
Izzy
55
Gran parte de la web está haciendo sonar como si el mundo dejara de girar, si se detienen las actualizaciones de Windows 10 :-) y cómo el botón no existe en algunas ediciones. ¿Asumo que no tuviste ningún problema con eso? la policía soñada no invadió tus pesadillas, el sistema operativo no colapsó y no se lastimó a las mascotas en el proceso :-) Creo que estas preguntas y respuestas aquí están bien hechas y se pueden reutilizar para un control de actualización W10 similar preguntas
Psycogeek
55
Tenga en cuenta que Microsoft cedió y ahora las actualizaciones de aplazamiento están disponibles para usuarios de Windows 10 Home también .
Vinayak
1
aplazar detiene la actualización a una versión más reciente como 1511 (actualización de noviembre de 2015) o 1607 (actualización de aniversario en julio de 2016) y le permite obtener actualizaciones automáticas para la versión anterior.
magicandre1981
4

windows_update_toggle
¡Retrabajo masivo de archivos por lotes anteriores alterna la suite en un solo script con el bloqueo de mejores prácticas!
Míralo en acción

¡Haga clic con el botón derecho en la interfaz de usuario dinámica del menú contextual con botones para todo!
Activar / desactivar todos los bloques, renovar (desde pastebin) o desinstalar opciones de script

¡Ocultar / mostrar / instalar listas de actualizaciones con contador!
¡Las listas se actualizan automáticamente cada vez que Windows te molesta a través de MusNotification!

Bloquee de forma independiente las actualizaciones de compilación, las instalaciones automáticas, las descargas, el servicio de
bloqueo seguro de IFEO sin cambios destructivos de propiedad, la eliminación de archivos o la eliminación de tareas

El foco está puesto en que las actualizaciones de Defender funcionen de forma independiente.
Desactivar el caos de Windows Las actualizaciones automáticas no sacrificarán la capa de protección incorporada, a
diferencia de cualquier otra "administración" de actualizaciones -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 actualización para v10.0 final. Código actualizado en el enlace de pastebin arriba.

AveYo
fuente
¿Alguna posibilidad de que me digas cómo conseguiste que los menús de Windows tuvieran un fondo negro?
wayofthefuture
1
Ese es un tema basado en alto contraste, disponible aquí: pastebin.com/fA3t5Sd2
AveYo
4

Para usuarios domésticos de Windows 10

Pruebe el siguiente método de Windows Central . Básicamente, deshabilitará el servicio de reinicio, no el servicio de actualización. Luego puede reiniciar cuando lo desee. Tenga en cuenta que necesita privilegios de administrador, pero supongo que ya lo tiene ya que está utilizando la edición de Windows Home.

  1. Desde una ventana del explorador de Windows, cambie el nombre del archivo: C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot(suponiendo que %windir%es C:\) a Reboot.old. Tenga en cuenta que se le pedirá acceso de administrador aquí.
  2. Crea un directorio nombrado Rebooten C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\. Esto evitará que Windows vuelva a crear un archivo con el mismo nombre. Tenga en cuenta que se le pedirá acceso de administrador aquí.
  3. Reinicia la máquina. Esto restablecerá todos los servicios y evitará que se inicie el servicio de reinicio.

Tenga en cuenta que esto no es promovido por Microsoft. Pero, de nuevo, ninguno de los dos controla su propio programa de arranque, ¡así que tome esa MS! En serio, si no sabe lo que está haciendo, comprenda los riesgos que está tomando siguiendo las instrucciones fuera de Internet. Esto es ciertamente lo suficientemente simple como para que comprender Windows 95 ayude a explicar lo que está sucediendo aquí.

Sablefoste
fuente
3

El estado de la actualización de Windows: principios de 2019

Microsoft ha estado haciendo grandes esfuerzos para que Windows Update sea inevitable, por eso los métodos tradicionales ya no funcionan o solo funcionan por un tiempo limitado.

Microsoft ha estado agregando servicios del sistema que no se pueden deshabilitar cuyo propósito es actualizar Windows. El principal de ellos es el Servicio Update Orchestrator , encargado de descargar, instalar y verificar las actualizaciones. Si se detiene, la computadora ya no puede descargar e instalar las actualizaciones, por lo que solo se puede deshabilitar para la sesión actual y se volverá a habilitar en el próximo reinicio.

El servicio encargado de hacer que Windows Update sea imparable es el nuevo Servicio de actualización de Windows Medic , cuya tarea es mantener el funcionamiento de Windows Update. Es este servicio el que deshace todos los métodos tradicionales para bloquear Windows Update, de modo que periódicamente e inesperadamente uno descubrirá que la configuración de Windows Update se ha restablecido a sus valores originales y que Windows ha vuelto a forzar actualizaciones sobre el usuario.

El Servicio de actualización de Windows Medic en sí no se puede deshabilitar en absoluto. Cualquier intento de hacerlo terminará con el mensaje de "Acceso denegado".

Sin embargo, existe un producto de terceros que puede bloquear totalmente Windows Update: Windows Update Blocker . Este producto gratuito es portátil y puede deshabilitar / habilitar Windows Update con un solo clic. De hecho, también puede bloquear cualquier otro servicio desbloqueable de Windows. Se informa que todavía funciona en 2018.

El uso de un producto de terceros a la larga puede ser más seguro que confiar en las características semi documentadas de Windows que pueden cambiar sin previo aviso. Puede encontrar más productos gratuitos en esta respuesta mía, que usa la API de Windows que permite que cualquier programa vete un cierre inminente.

harrymc
fuente
2

Finalmente encontré una solución permanente que simplemente funciona

Después de probar literalmente todos los trucos del libro, Windows Update siempre me superó. He probado todas las soluciones aquí, además de toneladas de otras fuentes, y Windows constantemente encontró formas de frustrar mis planes.

Hasta hace unos 6 meses ...

He encontrado una solución permanente para deshabilitar TODAS las actualizaciones de Windows PARA SIEMPRE independientemente de si el servicio o cualquier otra cosa se está ejecutando. He descubierto este método con la ayuda de muchas fuentes diferentes que tienen que ver con muchas cosas diferentes. En general, encontré este método con el uso de fragmentos de otra información utilizada para hacer cosas que no estaban relacionadas con esto, pero funciona. Y funciona absolutamente maravillosamente.

  1. Instale el Proxy DNS Acrílico desde aquí

Básicamente es una versión mejorada del archivo de hosts de Windows que le permite agregar funciones como comodines, lo cual es necesario en nuestro caso debido a las muchas fuentes de las que Windows obtiene sus actualizaciones.

  1. Siga las instrucciones aquí para hacer que Acrylic comience a hacer su trabajo en Win 10. Cosas bastante simples.

  2. Vaya a su menú de inicio y haga clic en " Editar archivo de hosts de acrílico " en Todos los programas, que se muestra aquí

  3. Agregue estas líneas al final del archivo de hosts, sin signos # en el 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

Ahora, la parte inferior del archivo debe ser similar a este . Guarde y cierre el archivo.

  1. Abra el administrador de tareas, vaya a la pestaña de servicios, haga clic en "Abrir servicios" en la parte inferior, seleccione Proxy DNS acrílico y haga clic en este botón con el círculo rojo para reiniciar el servicio.

TERMINADO

Ahora, su amigo Acrílico debe estar de espaldas y vigilar constantemente las tácticas de Big Brother de Microsoft para asegurarse de que no puedan obligarlo a instalar actualizaciones que estropeen su PC por completo, lo que tienen al menos una cuarta parte del tiempo Lo hice tanto en mi PC doméstica como en mi Surface Pro, que se supone que es la PC CONSTRUIDA para Windows, ¿verdad? ¡Vamos, Microsoft!

  1. Verifique para asegurarse de que funciona haciendo ping a cualquiera de los sitios web en el código anterior. Abra cmd y escriba

ping windowsupdate.microsoft.com

¡Si estos son tus resultados, serás dorado de ahora en adelante!

Nota: en mi experiencia, esto no ha ralentizado mi PC en absoluto. Tampoco redirige el tráfico de Internet además de las solicitudes a las fuentes que Windows usa para actualizar o buscar actualizaciones, por lo que es muy similar al archivo de hosts. También utiliza básicamente el mismo formato que el archivo de hosts. Esto también ha deshabilitado con éxito la reinstalación de la basura que Windows sigue colocando en mi computadora que le da esa pantalla gigante de color que dice algo como "debe actualizar o su computadora implosionará". Obviamente, no recuerdo lo que decía la advertencia, ya que ha pasado tanto tiempo desde que la recibí (debido a un bloqueo completamente exitoso hace aproximadamente 6 meses), pero fue la cosa más molesta que he visto.

Jackary Smith
fuente
jajajaja Oh hombre. Esta respuesta es justa. Guau. inteligente. muy inteligente. No puedo enfatizar cuán buena es esta respuesta. millones de personas llegan a la puerta principal donde hay cientos de defensas. pero esta solución viene del lado donde no hay defensas y construir defensas realmente no sería posible debido al diseño de internet.
Trevor Boyd Smith
si tiene un enrutador / puerta de enlace / caja de red doméstica elegante con características DNS elegantes ... entonces podría hacer algo similar.
Trevor Boyd Smith
1

Deshabilitar servicio de actualización

  1. Win+R > services.msc
  2. Haga doble clic en Windows Update y cambie el Tipo de inicio a Desactivado. Para volver a habilitar, regrese a los servicios y cámbielo a automático.

Fuente: Cómo controlar las actualizaciones de Windows 10

Ooker
fuente
1

Para mi caso, no solo quiero controlar cuándo se realizan las Actualizaciones de Windows, sino también limitar todas las aplicaciones instaladas fuera de control en sus actualizaciones en línea.

Entonces, mi solución única y única es: 1. Bloquear el acceso a Internet para el host en el lado del enrutador. Ninguno de los programas o servicios instalados en el host puede acceder a Internet. Las actualizaciones de Windows por causas también están bloqueadas.

  1. Instale un servidor Squid Proxy en la red local y dele el proxy a las aplicaciones que les permita acceder a Internet. No establezca proxy en el Panel de control | Opción de Internet, porque es un proxy global de todo el sistema operativo que anula el paso 1.

La mayoría de las aplicaciones son compatibles con la configuración de proxy basada en aplicaciones, como Chrome, Firefox, todo tipo de juegos, etc.

  1. Para aquellas aplicaciones que no admiten la configuración de proxy local, use NAS Cloud Fold como Cloud Proxy. Por ejemplo, los trajes de Office 365 no son compatibles con el proxy del programa. Luego, puede configurar un NAS Cloud Sync (por ejemplo, Synology NAS tiene Cloud sync para sincronizar OneDrive) para sincronizar los componentes en un pliegue NAS, luego use ese pliegue como el pliegue local de Office 365. Beneficios adicionales de esta manera es que obtienes una respuesta realmente rápida en archivos grandes, porque estás usando la velocidad de la red local para acceder a OneDrive.

Al hacer esto, el acceso a Internet de su computadora está controlado en gran medida por usted mismo, nadie puede confundirlo.

Siempre que desee actualizar Windows, configure el Panel de control | Opción de Internet para usar su proxy local, por lo tanto, Windows puede actualizar su sistema operativo. Después de eso, apague el proxy global de inmediato para configurar su computadora en una paz, un mundo completamente nuevo.

Jack Wu
fuente
0

2 años después y miles de millones de trabajos no guardados perdidos por el mecanismo de actualización de Microsoft, finalmente hay una actualización importante que resuelve el problema.

Actualización de Windows 10 Creators ahora disponible ( Descarga directa )

Después de instalar la actualización, el usuario finalmente volverá a preguntar (como esos insignificantes más de 20 años antes) si desea que se aplique la actualización:

win10 nuevo mensaje de actualización antigua

A veces me pregunto quién está detrás de esas decisiones ...

Después de la actualización, tiene más opciones con respecto a los tiempos de actualización. Para detenerlos, vaya a Configuración de Windows Update> Opciones avanzadas> Pausar actualizaciones> ACTIVADO .

pausar actualizaciones

En Opciones de reinicio, también encontrará una nueva opción para las notificaciones de actualización:

actualizaciones de notificaciones

Kai Noack
fuente
1
¿Cómo responde esto a la pregunta?
magicandre1981
"una forma de detener las actualizaciones automáticas": esta es una forma de deshacerse de las actualizaciones automáticas forzadas. Y para detenerlos, vaya a Configuración de Windows Update> Opciones avanzadas> Pausar actualizaciones> ACTIVADO. He agregado esto a la respuesta. (Tienes aún más opciones después de la actualización de Windows).
Kai Noack
0

Deshabilitar todas las actualizaciones de Windows por PowerShell

(ejecutar 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
fuente
0

Si bien deshabilité la actualización en Servicios y el Editor de directivas de grupo, todavía se vuelve a activar de vez en cuando. Luego tengo que desactivarlos manualmente en Servicios. Hacer esto a través de la GUI es problemático, así que escribí un script por lotes. Se detiene y desactiva Background Intelligent Transfer Servicey Windows Update.

@echo off

net stop wuauserv
net stop BITS

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

pause

También estoy usando (no específicamente para esto) una herramienta de monitor de red ligera (Monitor de ancho de banda), así que sé cuándo hay una actividad (un icono en la bandeja del sistema). Si veo una actividad cuando no debería haberla, sé que Windows Update se volvió a activar. Luego ejecuto el script y está apagado.

akinuri
fuente