Arresto di tutti gli aggiornamenti automatici di Windows 10


75

Abbiamo aggiornato alcune macchine a Windows 10 e ci siamo resi conto che c'erano alcuni aggiornamenti che venivano aggiornati come richiesto. Tuttavia, mi sono reso conto che non era disponibile alcuna opzione per interrompere il download simile a quello su Windows 7 e 8.1. L'unico modo per interrompere il download è stato interrompere il servizio Windows Update .

La mia domanda è: qualcuno conosce un modo per interrompere gli aggiornamenti automatici o interrompere il servizio è l'unica soluzione?


4
Se hai Windows 10 Home, non è possibile farlo. Se disponi di Windows 10 Professional, puoi rinviare gli aggiornamenti fino a 8 mesi. se disponi di Windows 10 Enterprise, puoi rinviare gli aggiornamenti purché tu abbia indicato l'LSTB che desideri utilizzare. C'è uno strumento che puoi scaricare che ti permetterà di differire i singoli aggiornamenti se causano un problema. Questa domanda è già stata posta più volte ora. .
Ramhound,

Inoltre, alla fine della giornata, per ricevere futuri aggiornamenti di sicurezza, il sistema deve disporre di tutti gli aggiornamenti necessari anche se si esegue Windows 10 Professional. KB3073930 è lo strumento che desideri per nascondere / rinviare singoli aggiornamenti.
Ramhound,

@Ramhound Capisco che saranno richiesti aggiornamenti di sicurezza ecc. Ma a volte vuoi solo metterli in pausa e avviarli in seguito. Stiamo eseguendo la versione pro. Sapresti dove posso trovare lo strumento che hai menzionato nel tuo commento?
Izzy,

2
L'arresto e il differimento sono 2 cose diverse.
Moab,

2
Si noti che tutte le risposte qui riguardano solo gli aggiornamenti da Windows Update, ma non è chiaro se la domanda debba riguardare questo. Windows 10 sembra avere altri due metodi integrati di aggiornamento: gli aggiornamenti del driver di dispositivo sono controllati separatamente (Sistema e impostazioni; Impostazioni di sistema avanzate e hardware; Impostazioni di installazione del dispositivo sembrano coprire questo) e l'aggiornamento automatico delle app dello Store è controllato tramite Store (penso che questo fermerà anche Candy Crush Soda Saga, ad esempio, dall'installazione automatica).
Doshea,

Risposte:


40

se hai la Pro Edition, apri l'editor dei criteri di gruppo (gpedit.msc) cerca la Configure automatic updatesvoce, che si trova in:

computer configuration → administrative templates → windows components → windows update

inserisci qui la descrizione dell'immagine

e seleziona Notify for download and notify for install.

Quando Windows rileva nuovi aggiornamenti , mostra una notifica di brindisi .

inserisci qui la descrizione dell'immagine

È inoltre possibile utilizzare lo strumento di risoluzione dei problemi dall'aggiornamento KB3073930 per disabilitare alcuni aggiornamenti problematici, in modo che non vengano installati nuovamente.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Questo è il modo ufficiale di Microsoft per impedire l'installazione di aggiornamenti e driver indesiderati.

Ma esiste uno strumento di terze parti chiamato Windows Update MiniTool che consente di selezionare quali aggiornamenti possono essere installati e consente di bloccare gli aggiornamenti come si farebbe nelle precedenti versioni di Windows.

inserisci qui la descrizione dell'immagine

Un'alternativa allo standard Windows Update Cosa puoi fare:
• Verifica aggiornamenti
• Scarica aggiornamenti
• Installazione aggiornamenti
• Eliminazione aggiornamenti installati
Nascondere aggiornamenti indesiderati
• Ottieni collegamenti diretti ai file di aggiornamento * .cab / * .Exe / * .Psf
• Visualizza cronologia aggiornamenti
Configura Aggiornamenti automatici
• Questo strumento è simile al modulo PowerShell esterno PSWindowsUpdate, ma funzioni molto più avanzate e intuitive
• Lo strumento si basa e utilizza la stessa infrastruttura WU, tutti i download avvengono tramite WU non è un downloader

L'utente slavanap ha pubblicato un secondo strumento in un commento che consente di installare in modo selettivo gli aggiornamenti. Si chiama Windows 10 Manual Update ed è disponibile su github :

inserisci qui la descrizione dell'immagine.

Nell'Aggiornamento dei creatori di Windows 10 esiste un'opzione per interrompere gli aggiornamenti di Windows per 35 giorni:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

in Impostazioni app dove sono le opzioni di Windows Update.


2
E se hai l'edizione Home?
Colonnello Panic,

1
@ColonelPanic tenta di impostare il valore AUOptions in HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU su 2 . funziona?
magicandre1981,

1
Non penso che MiniTool sia open source. Si prega di fare riferimento a questa soluzione open source la soluzione più semplice su come eseguire la manutenzione dell'aggiornamento di Windows 10 in modo simile alle versioni precedenti di Windows github.com/slavanap/Windows10ManualUpdate
Vyacheslav Napadovsky

3
@ magicandre1981 Sabotage? Questo non è esattamente un "grazie" per aver riparato un collegamento morto e vicolo cieco.

2
-1 non perché è colpa tua, ma perché la tua risposta non è più aggiornata. Windows ora riattiva Windows Update anche dopo tutte le soluzioni alternative classiche.
Mehrdad,

10

Uno degli aspetti più controversi di Windows 10 è la decisione di Microsoft di rendere obbligatori gli aggiornamenti. Se disponi di edizioni di Windows 10 Pro, Enterprise o Education, puoi rinviare gli aggiornamenti, ma non puoi rifiutarli completamente .

Se non sei soddisfatto del fatto che Microsoft abbia installato forzatamente gli aggiornamenti sul tuo sistema senza dirlo, puoi bloccare questa funzione utilizzando W10Privacy .

Se non hai mai sentito parlare di questo programma prima che valga la pena dare un'occhiata, dato che il software ti dà il controllo sulle numerose funzioni di privacy di Windows 10, consentendoti di impedire al sistema operativo di curiosare su ciò che fai. Le opzioni sono codificate a colori in modo da poter vedere a colpo d'occhio se qualcosa è sicuro da cambiare / disabilitare o meno.

In W10Privacy 2 , ora puoi impostare il programma in modo da disabilitare il meccanismo di aggiornamento di Windows 10 e sostituirlo con il suo. Gli utenti possono scegliere quali aggiornamenti installare e quali ignorare. Questo non è qualcosa che tutti dovrebbero fare, ma è possibile invertire facilmente i passaggi necessari.

Prima di poter utilizzare questa funzione, è necessario scaricare alcuni componenti aggiuntivi. Segui questi passi:

  • Scarica W10Privacy 2 e decomprimilo in una cartella sul tuo disco rigido.
  • Scarica PsExec (parte del pacchetto PsTools ) e copialo nella cartella W10Privacy.
  • Scarica il modulo PowerShell di Windows Update da Technet e decomprimilo in una sottocartella nella cartella W10Privacy.
  • Fare clic con il tasto destro del mouse W10Privacy.exee selezionare Esegui come amministratore dal menu di scelta rapida. Scegliere di creare un punto di ripristino del sistema. Vale anche la pena fare un backup completo del sistema (per ogni evenienza).
  • Vai su Extra> Aggiornamenti di Windows per gestire le opzioni. Esistono sei diverse caselle di controllo. Nessuno è abilitato per impostazione predefinita. Loro sono:
  • Il modulo di aggiornamento di PSWindows esiste (deve essere fornito in precedenza dall'utente alla cartella W10Privacy).
  • PsExec.exe nella cartella W10Privacy (deve essere fornito dall'utente). W10 Adattamento privato del modulo di aggiornamento PSWindows.
  • Configurare un server WSUS falso.

  • W10Privacy si trova in un percorso / cartella senza spazi. Non considerare i driver in Ricerca aggiornamenti.

  • Supponendo di voler gestire manualmente gli aggiornamenti, selezionare le prime cinque opzioni. La sesta opzione consente di decidere se elencare i driver accanto agli aggiornamenti. Questo lo devi decidere tu.
  • Fai clic su Imposta impostazioni modificate, quindi fai clic sul pulsante Avvia verifica aggiornamenti e ti verranno mostrati tutti i nuovi aggiornamenti che devono ancora essere installati e puoi scegliere quale azione intraprendere.

Immagine dello schermo

Una volta che sei responsabile dei tuoi aggiornamenti, esegui il software regolarmente e controlla per assicurarti di non perdere alcun aggiornamento importante;

inserisci qui la descrizione dell'immagine

Crediti:

  1. Come ottenere il controllo totale sugli aggiornamenti automatici di Windows 10

1
La migliore soluzione, poiché impedisce a Windows di vedere gli aggiornamenti.
Marcus,

oh no .. Perché non esiste un singolo comando. Qualcuno mi dia la porta questa finestra è alta per camminare.
Mustkeem K

6

Con l'aiuto di @Ramhound sono riuscito a capire come fermare gli aggiornamenti automatici su Windows 10.

Si noti che questo vale per Windows 10 Pro in quanto è la versione in esecuzione.

Per interrompere gli aggiornamenti autmatici è possibile effettuare le seguenti operazioni:

  1. Apri Impostazioni
  2. Fai clic su Aggiornamento e sicurezza
  3. Clicca su Advanced options inserisci qui la descrizione dell'immagine
  4. Assicurarsi che l' Defer upgradesopzione sia selezionata inserisci qui la descrizione dell'immagine
  5. Chiudi la finestra delle impostazioni e il gioco è fatto!

Aggiornare

Come menzionato nei commenti di @Vinayak, l'opzione di differimento è ora disponibile anche per gli utenti domestici. Ulteriori informazioni qui


Mentre sei lì a guardare, potresti vedere se esiste un servizio di aggiornamento di Windows che può essere semplicemente disabilitato nei servizi. Wuauserv o wuaueng.dll o qualcosa del genere? per chi potrebbe usare un metodo diverso?
Psycogeek,

1
Il Wuauservservizio @Psycogeek è presente e può essere arrestato / disabilitato. Questo è il modo in cui inizialmente ho interrotto gli aggiornamenti
Izzy il

5
Gran parte del web lo fa sembrare come se il mondo smettesse di girare, se gli aggiornamenti di Windows 10 vengono interrotti :-) e come il pulsante non esiste in alcune edizioni. Suppongo che tu non abbia avuto problemi con quello? la polizia dei sogni non ha invaso i tuoi incubi, il sistema operativo non è crollato in una palla e nessun animale domestico è stato danneggiato nel processo :-) Penso che queste domande e risposte siano ben fatte e possano essere riutilizzate per un controllo di aggiornamento W10 simile domande .
Psycogeek,

5
Nota che Microsoft ha ceduto e ora rinvia gli aggiornamenti è disponibile anche per gli utenti di Windows 10 Home .
Vinayak,

1
il differimento interrompe l'aggiornamento a una versione più recente come 1511 (aggiornamento di novembre 2015) o 1607 (aggiornamento dell'anniversario a luglio 2016) e ti consente di ottenere aggiornamenti automatici per la versione precedente.
magicandre1981,

4

windows_update_toggle
Una massiccia rielaborazione dei precedenti file batch trasforma la suite in un singolo script con il blocco delle migliori pratiche!
Guarda in azione

Interfaccia utente dinamica del menu contestuale del tasto destro del mouse sul desktop con pulsanti per tutto!
Attiva / disattiva tutti i blocchi, Rinnova (da pastebin) o disinstalla le opzioni di script

Nascondi / Scopri / Installa elenchi di aggiornamenti con contatore!
Gli elenchi vengono aggiornati automaticamente ogni volta che Windows ti infastidisce tramite MusNotification!

Blocca in modo indipendente Build upgrade, Installazioni automatiche, Download, Servizio
Blocco sicuro IFEO senza cambiamenti distruttivi di proprietà, eliminazione di file o rimozione di attività

Focus focalizzato sugli aggiornamenti di Defender che funzionano in modo indipendente
Disattivare gli aggiornamenti automatici del caos di Windows non sacrificherà il livello di protezione integrato, a
differenza di qualsiasi altra "gestione" degli aggiornamenti -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
}
//

Ultimo aggiornamento per v10.0 final. Codice aggiornato sul link pastebin sopra.


Qualche possibilità che tu possa dirmi come hai fatto avere i tuoi menu di Windows per avere uno sfondo nero ?!
wayofthefuture

1
È un tema basato sul contrasto elevato, disponibile qui: pastebin.com/fA3t5Sd2
AveYo,

4

Per utenti domestici di Windows 10

Prova il seguente metodo da Windows Central . Fondamentalmente, disabiliterai il servizio di riavvio, non il servizio di aggiornamento. È quindi possibile riavviare quando vuoi. Nota: hai bisogno dei privilegi di amministratore, ma suppongo che tu l'abbia già visto che stai usando Windows Home Edition.

  1. Da una finestra di Windows Explorer, rinomina il file: C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot(supponendo che lo %windir%sia C:\) in Reboot.old. Nota, ti verrà chiesto l'accesso come amministratore qui.
  2. Crea una directory nominata Rebootin C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\. Ciò impedirà a Windows di ricreare un file con lo stesso nome. Nota, ti verrà chiesto l'accesso come amministratore qui.
  3. Riavvia la macchina. Ciò ripristinerà tutti i servizi e impedirà l'avvio del servizio di riavvio.

Si prega di notare che questo non è promosso da Microsoft. Ma poi di nuovo, nessuno dei due sta controllando il tuo programma di avvio, quindi prendi quel MS! Seriamente, se non sai cosa stai facendo, comprendi i rischi che stai seguendo seguendo le indicazioni da Internet. Questo è certamente abbastanza semplice che una comprensione di Windows 95 potrebbe aiutare a spiegare cosa sta succedendo qui.


3

Lo stato di Windows Update - inizio 2019

Microsoft si è impegnata molto per rendere inevitabile Windows Update, motivo per cui i metodi tradizionali non funzionano più o funzionano solo per un tempo limitato.

Microsoft ha aggiunto servizi di sistema che non possono essere disabilitati il ​​cui scopo è aggiornare Windows. Il principale tra questi è il servizio Update Orchestrator , incaricato di scaricare, installare e verificare gli aggiornamenti. Se arrestato, il computer non può più scaricare e installare gli aggiornamenti, motivo per cui può essere disabilitato solo per la sessione corrente e verrà riabilitato al successivo riavvio.

Il servizio incaricato di rendere inarrestabile Windows Update è il nuovo servizio Medic di Windows Update , incaricato di mantenere il funzionamento di Windows Update. È questo servizio che annulla tutti i metodi tradizionali per bloccare Windows Update, così che periodicamente e inaspettatamente si scoprirà che le impostazioni di Windows Update sono state ripristinate ai loro valori originali e che Windows è tornato a forzare gli aggiornamenti sull'utente.

Il servizio Medic di Windows Update non può essere disabilitato. Qualsiasi tentativo di farlo terminerà con il messaggio "Accesso negato".

Tuttavia, esiste un prodotto di terze parti che può bloccare totalmente Windows Update: Windows Update Blocker . Questo prodotto gratuito è portatile e può disabilitare / abilitare Windows Update con un clic. In effetti, può anche bloccare qualsiasi altro servizio Windows non bloccabile. È stato riferito che funziona ancora nel 2018.

L'uso a lungo termine di un prodotto di terzi potrebbe essere più sicuro che affidarsi a funzionalità semi-documentate di Windows che potrebbero cambiare senza preavviso. Alcuni altri prodotti gratuiti possono essere trovati in questa mia risposta , che utilizza l'API di Windows che consente a qualsiasi programma di porre il veto a un arresto imminente.


2

Finalmente ho trovato una soluzione permanente che funziona

Dopo aver provato letteralmente ogni trucco nel libro, sono sempre stato superato da Windows Update. Ho provato ogni soluzione qui oltre a tonnellate di altre fonti e Windows ha costantemente trovato il modo di contrastare i miei piani.

Fino a circa 6 mesi fa ...

Ho trovato una soluzione permanente per disabilitare TUTTI gli aggiornamenti di Windows PER SEMPRE indipendentemente dal fatto che il servizio o qualsiasi altra cosa sia in esecuzione. Ho capito questo metodo con l'aiuto di molte fonti diverse che avevano a che fare con molte cose diverse. Nel complesso, ho trovato questo metodo me stesso con l'uso di frammenti di altre informazioni utilizzate per fare cose che non erano tutte correlate a questo, ma funziona. E funziona assolutamente magnificamente.

  1. Installa il proxy DNS acrilico da qui

È fondamentalmente una versione distorta del file hosts di Windows che consente di aggiungere funzioni come caratteri jolly, che è necessaria nel nostro caso a causa delle molte fonti da cui Windows ottiene i suoi aggiornamenti.

  1. Segui le istruzioni qui per fare in modo che Acrylic inizi a fare il suo lavoro in Win 10. Roba piuttosto semplice.

  2. Vai al menu di avvio e fai clic su " Modifica file host acrilico " in Tutti i programmi, mostrato qui

  3. Aggiungi queste righe nella parte inferiore del file hosts, senza i segni # in primo piano.

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

Ora, la parte inferiore del file dovrebbe essere simile questo . Salva e chiudi il file.

  1. Apri Task Manager, vai alla scheda servizi, fai clic su "Apri servizi" in basso, seleziona Proxy DNS acrilico e fai clic su questo pulsante con il cerchio rosso per riavviare il servizio.

FINITO

Ora il tuo amico Acrilico dovrebbe avere le spalle e tenere costantemente d'occhio le tattiche del Grande Fratello di Microsoft per assicurarsi che non possano forzare il tuo vecchio povero a installare aggiornamenti che rovinano completamente il tuo PC che hanno almeno un quarto delle volte che hanno fatto sia sul mio PC di casa che sul mio Surface Pro che dovrebbe essere il PC BUILT per Windows, giusto ??? Cmon, Microsoft!

  1. Verificare che funzioni eseguendo il ping di uno qualsiasi dei siti Web nel codice sopra. Apri cmd e digita

ping windowsupdate.microsoft.com

Se questi sono i tuoi risultati, sarai d'oro da ora in poi !!

Nota: nella mia esperienza, questo non ha affatto rallentato il mio PC. Inoltre, non reindirizza alcun traffico Internet oltre alle richieste alle fonti utilizzate da Windows per aggiornare o verificare la presenza di aggiornamenti, quindi molto simile al file hosts. Inoltre utilizza sostanzialmente lo stesso formato del file hosts. Questo ha anche disabilitato con successo la reinstallazione della posta indesiderata che Windows continua a posizionare sul mio computer che dà a quello schermo colorato gigante che dice qualcosa come "devi aggiornare o il tuo computer imploderà". Ovviamente non ricordo cosa dicesse l'avvertimento da quando è passato tanto tempo da quando l'ho ricevuto (a causa del blocco completamente riuscito 6 mesi o giù di lì), ma è stata la cosa più fastidiosa che abbia mai visto.


hahahaha. Oddio. questa risposta è giusta. Wow. inteligente. molto intelligente. non posso proprio sottolineare quanto sia buona questa risposta. milioni di persone arrivano alla porta principale dove ci sono centinaia di difese. ma questa soluzione arriva dal lato in cui non ci sono difese e la costruzione di difese non sarebbe davvero possibile a causa del design di Internet.
Trevor Boyd Smith,

se hai un router / gateway / home-network-box di fantasia con fantasiose funzionalità DNS ... allora potresti IMO fare qualcosa di simile.
Trevor Boyd Smith,


1

Nel mio caso, desidero controllare non solo gli aggiornamenti di Windows, ma anche limitare tutte le applicazioni installate da fuori controllo sui loro aggiornamenti online.

Quindi la mia semplice soluzione one stop è: 1. Bloccare l'accesso a Internet per l'host sul lato router. Nessuno dei programmi o servizi installati sull'host può accedere a Internet. Anche gli aggiornamenti di Windows di causa sono bloccati.

  1. Installa un server proxy Squid sulla rete locale e dai il proxy a quelle applicazioni che permetti loro di accedere a Internet. Non impostare il proxy sul Pannello di controllo | Opzione Internet, perché è un proxy globale per tutto il sistema operativo che annulla il passaggio 1.

La maggior parte delle applicazioni supporta le impostazioni proxy basate su applicazioni, come Chrome, Firefox, tutti i tipi di giochi, ecc.

  1. Per quelle applicazioni che non supportano le impostazioni proxy locali, utilizzare il cloud cloud NAS come proxy cloud. Ad esempio, i semi di Office 365 non supportano il proxy del programma. È quindi possibile configurare un NAS Cloud Sync (ad esempio, Synology NAS ha Cloud sync per sincronizzare OneDrive) per sincronizzare i contenuti in una piega NAS, quindi utilizzare quella piega come piega locale di Office 365. Ulteriori vantaggi di questo modo sono la risposta molto rapida su file di grandi dimensioni, poiché si utilizza la velocità della rete locale per accedere a OneDrive.

In questo modo, l'accesso a Internet del tuo computer è notevolmente controllato da te stesso, nessuno può sbagliarti.

Ogni volta che si desidera aggiornare Windows, impostare Pannello di controllo | Opzione Internet per utilizzare il proxy locale, quindi Windows può aggiornare il sistema operativo. Dopodiché, disattiva immediatamente il proxy globale per impostare nuovamente il tuo computer in un mondo di pace e tranquillità.


0

2 anni dopo e miliardi di opere non salvate perse dal meccanismo di aggiornamento di Microsoft, c'è finalmente un importante aggiornamento che risolve il problema.

Windows 10 Creators Update ora disponibile ( download diretto )

Dopo aver installato l'aggiornamento l'utente alla fine chiederà di nuovo (come quelli insignificanti oltre 20 anni prima) se desidera che l'aggiornamento venga applicato:

win10 nuovo vecchio messaggio di aggiornamento

A volte mi chiedo chi c'è dietro quelle decisioni ...

Dopo l'aggiornamento hai più opzioni per quanto riguarda i tempi di aggiornamento. Per interromperli, vai su Impostazioni di Windows Update> Opzioni avanzate> Sospendi aggiornamenti> ATTIVATO .

mettere in pausa gli aggiornamenti

Sotto Opzioni di riavvio trovi anche una nuova opzione per le notifiche di aggiornamento:

aggiornamenti delle notifiche


1
come risponde alla domanda?
magicandre1981,

"un modo per fermare gli aggiornamenti automatici" - Questo è un modo per sbarazzarsi degli aggiornamenti automatici forzati. E per interromperli, vai su Impostazioni di Windows Update> Opzioni avanzate> Sospendi aggiornamenti> ATTIVATO. Ho aggiunto questo alla risposta. (Hai ancora più opzioni dopo Windows Update.)
Kai Noack,

0

Disabilita tutti gli aggiornamenti di Windows da PowerShell

(esegui PowerShell come amministratore)

Clear-Host

$WindowsUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\"
$AutoUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"

If(Test-Path -Path $WindowsUpdatePath) {
    Remove-Item -Path $WindowsUpdatePath -Recurse
}

New-Item $WindowsUpdatePath -Force
New-Item $AutoUpdatePath -Force

Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 1

Get-ScheduledTask -TaskPath "\Microsoft\Windows\WindowsUpdate\" | Disable-ScheduledTask

takeown /F C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator /A /R
icacls C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator /grant Administrators:F /T

Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\" | Disable-ScheduledTask

Stop-Service wuauserv
Set-Service wuauserv -StartupType Disabled

Write-Output "All Windows Updates were disabled"

0

Mentre disabilitavo l'aggiornamento in Servizi e Editor criteri di gruppo, di tanto in tanto si riaccende. Quindi devo disattivarli manualmente in Servizi. Farlo tramite la GUI è problematico, quindi ho scritto uno script batch. Si ferma e disabilita Background Intelligent Transfer Servicee Windows Update.

@echo off

net stop wuauserv
net stop BITS

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

pause

Sto anche usando (non specificamente per questo) uno strumento di monitoraggio della rete leggera (Monitor larghezza di banda), quindi so quando c'è un'attività (un'icona nella barra delle applicazioni). Se vedo un'attività che non dovrebbe esserci, so che Windows Update è stato riacceso. Quindi eseguo lo script ed è spento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.