Arrêt de toutes les mises à jour automatiques Windows 10

75

Nous avons mis à niveau certaines machines vers Windows 10 et avons réalisé que certaines mises à jour étaient mises à jour si nécessaire. Cependant, j’ai réalisé qu’il n’y avait pas d’option disponible pour arrêter le téléchargement de la même manière que celle sur Windows 7 et 8.1. Le seul moyen d'arrêter le téléchargement était d'arrêter le service Windows Update .

Ma question est la suivante: est-ce que quelqu'un sait comment arrêter les mises à jour automatiques ou si le service est la seule solution?

Izzy
la source
4
Si vous avez Windows 10 Home, cela ne peut pas être fait. Si vous utilisez Windows 10 Professional, vous pouvez différer les mises à jour jusqu'à 8 mois. Si vous avez Windows 10 Entreprise, vous pouvez différer les mises à jour à condition d'indiquer le LSTB que vous souhaitez utiliser. Il existe un outil que vous pouvez télécharger qui vous permettra de différer des mises à jour individuelles si elles causent un problème. Cette question a déjà été posée à plusieurs reprises maintenant. .
Ramhound le
En outre, à la fin de la journée, pour recevoir les futures mises à jour de sécurité, votre système doit disposer de toutes les mises à jour requises, même si vous exécutez Windows 10 Professional. KB3073930 est l'outil que vous souhaitez si vous souhaitez masquer / différer des mises à jour individuelles.
Ramhound le
@Ramhound Je comprends que des mises à jour de sécurité seront nécessaires, etc., mais parfois, vous voulez simplement les suspendre et les démarrer plus tard. Nous courons la version pro. Sauriez-vous où je pourrais trouver l'outil que vous avez mentionné dans votre commentaire?
Izzy
2
S'arrêter et différer est 2 choses différentes.
Moab
2
Veuillez noter que toutes les réponses ici couvrent uniquement les mises à jour de Windows Update, mais il n'est pas clair si la question est censée couvrir cela. Windows 10 semble disposer de deux autres méthodes de mise à jour intégrées: les mises à jour du pilote de périphérique sont contrôlées séparément (Paramètres système avancés, Paramètres d'installation du périphérique semblent couvrir ce problème) et la mise à jour automatique des applications Store est contrôlée via le Store (je pense que cela empêchera également l’installation automatique de Candy Crush Soda Saga, par exemple).
doshea

Réponses:

40

Si vous avez l'édition Pro, ouvrez l'éditeur de stratégie de groupe (gpedit.msc) pour rechercher l' Configure automatic updatesentrée, située à l' adresse :

computer configuration → administrative templates → windows components → windows update

entrez la description de l'image ici

et sélectionnez Notify for download and notify for install.

Lorsque Windows détecte de nouvelles mises à jour, il affiche une notification de pain grillé .

entrez la description de l'image ici

Vous pouvez également utiliser l' utilitaire de résolution des problèmes de la mise à jour KB3073930 pour désactiver certaines mises à jour posant problème, afin qu'elles ne soient pas réinstallées .

entrez la description de l'image ici

entrez la description de l'image ici

C’est la manière officielle de Microsoft d’empêcher l’installation de pilotes et de mises à jour indésirables.

Mais il existe un outil tiers appelé Windows Update MiniTool qui permet de sélectionner les mises à jour pouvant être installées et de bloquer les mises à jour comme dans les versions antérieures de Windows.

entrez la description de l'image ici

Une alternative à la mise à jour Windows standard Ce que vous pouvez faire:
• Rechercher les mises à jour
• Télécharger les mises à jour
• Installer les mises à jour
• Supprimer les mises à jour installées
Masquer les mises à jour indésirables
• Obtenir des liens directs vers les fichiers de mise à jour * .cab / * .Exe / * .Psf
• Afficher l'historique des mises à jour
Configurer les mises à jour automatiques
• Cet outil ressemble au module PowerShell externe PSWindowsUpdate, mais comporte des fonctionnalités beaucoup plus avancées et conviviales.
• L'outil repose sur la même infrastructure WU et utilise la même infrastructure. Tous les téléchargements sont effectués via WU. Ce n'est pas un téléchargeur.

L'utilisateur slavanap a posté un deuxième outil dans un commentaire qui vous permet d'installer de manière sélective les mises à jour. Il s’appelle Windows10 Manual Update et est disponible sur github :

entrez la description de l'image ici.

Dans la mise à jour des créateurs Windows 10, il existe une option pour arrêter les mises à jour Windows pendant 35 jours:

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

entrez la description de l'image ici

sous Paramètres App où sont les options de Windows Update.

magicandre1981
la source
2
Et si vous avez l'édition Home?
colonel Panic
1
@ColonelPanic tente de définir la valeur AUOptions sous HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU sur 2 . Est-ce que ça marche?
magicandre1981
1
Je ne pense pas que MiniTool soit open source. Veuillez vous référer à cette source ouverte, la solution la plus simple. Comment effectuer la maintenance de Windows 10 Update de la même manière que les versions précédentes de
Vyacheslav Napadovsky
3
@ magicandre1981 Sabotage? Ce n'est pas exactement un "merci" pour la réparation d'un lien sans issue.
2
-1 pas parce que c'est de ta faute, mais parce que ta réponse est maintenant obsolète. Windows réactive Windows Update même après toutes les solutions classiques.
Mehrdad
10

L'un des aspects les plus controversés de Windows 10 est la décision de Microsoft de rendre les mises à jour obligatoires. Si vous avez des éditions Windows 10 Pro, Enterprise ou Education, vous pouvez différer les mises à jour, mais vous ne pouvez pas les rejeter d'emblée .

Si vous n'êtes pas satisfait de l'installation forcée par Microsoft de mises à jour sur votre système sans votre mot à dire, vous pouvez bloquer cette fonction à l'aide de W10Privacy .

Si vous n'avez jamais entendu parler de ce programme auparavant, cela vaut la peine d'être vérifié, car il vous permet de contrôler les nombreuses fonctions de confidentialité de Windows 10, ce qui vous permet d'empêcher le système d'exploitation d'espionner ce que vous faites. Les options sont codées par couleur afin que vous puissiez voir en un coup d'œil si vous pouvez changer / désactiver ou non quelque chose de sûr.

Dans W10Privacy 2 , vous pouvez maintenant configurer le programme pour désactiver le mécanisme de mise à jour de Windows 10 et le remplacer par le sien. Les utilisateurs peuvent choisir les mises à jour à installer et celles à ignorer. Tout le monde ne devrait pas le faire, mais vous pouvez facilement inverser les étapes si vous en aviez besoin.

Avant de pouvoir utiliser cette fonction, vous devez télécharger des composants supplémentaires. Suivez ces étapes:

  • Téléchargez W10Privacy 2 et décompressez-le dans un dossier de votre disque dur.
  • Téléchargez PsExec (partie du package PsTools ) et copiez-le dans le dossier W10Privacy.
  • Téléchargez le module Windows Update PowerShell de Technet et décompressez-le dans un sous-dossier du dossier W10Privacy.
  • Cliquez avec le bouton droit de la souris W10Privacy.exeet choisissez Exécuter en tant qu'administrateur dans le menu contextuel. Choisissez de créer un point de restauration du système. Cela vaut également la peine de faire une sauvegarde complète du système (juste au cas où).
  • Allez à Extras> Mises à jour Windows pour gérer les options. Il y a six cases à cocher différentes. Aucun n'est activé par défaut. Elles sont:
  • Le module de mise à jour PSWindows existe (il doit être préalablement fourni par l'utilisateur dans le dossier W10Privacy).
  • PsExec.exe dans le dossier W10Privacy (doit être fourni par l'utilisateur). W10Privacy adaptation du module de mise à jour PSWindows.
  • Configurez le faux serveur WSUS.

  • W10Privacy est situé dans un chemin / dossier sans espaces. Ne considérez pas les pilotes dans Update Search.

  • En supposant que vous souhaitiez gérer les mises à jour manuellement, cochez les cinq premières options. La sixième option vous permet de décider si vous souhaitez répertorier les pilotes avec les mises à jour. C'est toi qui vois.
  • Cliquez sur Définir les paramètres modifiés, puis sur le bouton Commencer à vérifier les mises à jour. Toutes les nouvelles mises à jour à installer, ainsi que les actions à entreprendre.

Capture d'écran

Une fois que vous avez pris en charge vos mises à jour, lancez le logiciel régulièrement et vérifiez que vous ne manquez aucune mise à jour importante.

entrez la description de l'image ici

Crédits:

  1. Comment obtenir un contrôle total sur les mises à jour automatiques de Windows 10
xavier_fakerat
la source
1
La meilleure solution, car elle empêche complètement Windows de voir les mises à jour.
Marcus
oh non .. Pourquoi il n'y a pas de commande unique. Quelqu'un me donne la porte cette fenêtre est haute pour se promener.
Mustkeem K
6

Avec l’aide de @Ramhound, j’ai réussi à comprendre comment arrêter les mises à jour automatiques sous Windows 10.

Veuillez noter que cela s’applique à Windows 10 Pro car c’est la version que j’utilise.

Pour arrêter les mises à jour Autmatic, vous pouvez procéder comme suit:

  1. Paramètres ouverts
  2. Cliquez sur Update & security
  3. Cliquer sur Advanced options entrez la description de l'image ici
  4. S'assurer que l' Defer upgradesoption est cochée entrez la description de l'image ici
  5. Fermez la fenêtre des paramètres et le tour est joué!

Mise à jour

Comme mentionné dans les commentaires de @Vinayak, l'option de report est désormais disponible pour les utilisateurs à domicile. Plus d'informations ici

Izzy
la source
Pendant que vous y êtes à la recherche, pourriez-vous voir s’il existe un service de mise à jour Windows qui peut simplement être désactivé dans les services. Wuauserv ou wuaueng.dll ou quelque chose? pour ceux qui pourraient utiliser une méthode différente?
Psycogeek le
1
Le Wuauservservice @Psycogeek est là et peut être arrêté / désactivé. C’est ainsi que j’avais arrêté les mises à jour
Izzy
5
Une grande partie du Web donne l’impression que le monde va cesser de tourner si les mises à jour de Windows 10 sont arrêtées :-) et que le bouton n’existe pas dans certaines éditions. Je suppose que cela ne vous a pas posé de problèmes? la police de rêve n'a pas envahi vos cauchemars, le système d'exploitation ne s'est pas effondré, et aucun animal n'a été blessé au cours du processus :-) Je pense que ce Q & A est bien fait et qu'il peut être réutilisé pour un contrôle similaire de la mise à jour W10 des questions .
Psycogeek
5
Notez que Microsoft a annulé et désormais différer les mises à niveau est également disponible pour les utilisateurs de Windows 10 Home .
Vinayak
1
différer interrompt la mise à niveau vers une version plus récente telle que 1511 (mise à jour de novembre 2015) ou 1607 (mise à jour anniversaire en juillet 2016) et vous permet d'obtenir des mises à jour automatiques pour l'ancienne version.
magicandre1981
4

windows_update_toggle
La retouche massive de fichiers batch précédents bascule la suite en un seul script avec blocage des meilleures pratiques!
Regardez-le en action

Desktop UI dynamique du menu contextuel du menu contextuel avec des bascules pour tout!
Activer / désactiver tous les blocs, Renouveler (à partir de pastebin) ou désinstaller les options de script

Masquer / Afficher / Installer les listes de mises à jour avec counter!
Les listes sont automatiquement mises à jour chaque fois que Windows vous harcèle via MusNotification!

Bloquez indépendamment les mises à jour de construction, les installations automatiques, les téléchargements et le service Service.
Blocage sécurisé IFEO sans changement de propriétaire destructif, suppression de fichiers ou suppression de tâches

Focus mis sur les mises à jour de Defender fonctionnant de manière indépendante Le
basculement de Windows aux mises à jour automatiques ne sacrifie pas la couche de protection intégrée,
contrairement à toute autre "gestion" des mises à jour -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
}
//

Dernière mise à jour pour la version 10.0 finale. Code mis à jour sur le lien pastebin ci-dessus.

AveYo
la source
Avez-vous une chance de me dire comment vous avez obtenu un fond noir dans vos menus Windows?!
wayofthefuture
1
C'est un thème à haut contraste, disponible ici: pastebin.com/fA3t5Sd2
AveYo Le
4

Pour les utilisateurs Windows 10 domestiques

Essayez la méthode suivante à partir de Windows Central . Fondamentalement, vous désactiverez le service de redémarrage, pas le service de mise à jour. Vous pouvez ensuite redémarrer à tout moment. Veuillez noter que vous avez besoin de privilèges d'administrateur, mais je suppose que vous l'avez déjà depuis que vous utilisez Windows Home Edition.

  1. À partir d’une fenêtre de l’explorateur Windows, renommez le fichier C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot(en supposant que ce %windir%soit le cas C:\) en Reboot.old. Remarque, il vous sera demandé un accès administrateur ici.
  2. Créez un répertoire nommé Rebootdans C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\. Cela empêchera Windows de recréer un fichier portant le même nom. Remarque, il vous sera demandé un accès administrateur ici.
  3. Redémarrez la machine. Cela réinitialisera tous les services et empêchera le démarrage du service de redémarrage.

Veuillez noter que ceci n'est pas promu par Microsoft. Mais là encore, vous ne contrôlez pas non plus votre propre planning de démarrage, alors prenez ce MS! Sérieusement, si vous ne savez pas ce que vous faites, comprenez les risques que vous courez en suivant les instructions à partir d'Internet. C’est certainement assez simple pour que la compréhension de Windows 95 puisse expliquer ce qui se passe ici.

Sablefoste
la source
3

L'état de Windows Update - à partir de 2019

Microsoft s’est efforcé de rendre Windows Update inévitable. C’est pourquoi les méthodes traditionnelles ne fonctionnent plus ou ne fonctionnent que pendant un temps limité.

Microsoft a ajouté des services système impossibles à désactiver dont le but est de mettre à jour Windows. Parmi ceux-ci, le service Update Orchestrator , chargé de télécharger, d’installer et de vérifier les mises à jour. S'il est arrêté, l'ordinateur ne peut plus télécharger et installer les mises à jour. C'est pourquoi il ne peut être désactivé que pour la session en cours et sera réactivé au prochain redémarrage.

Le service chargé de rendre Windows Update imparable est le nouveau service Windows Update Medic , chargé de maintenir le fonctionnement de Windows Update. C’est ce service qui annule toutes les méthodes traditionnelles de blocage de Windows Update. Ainsi, on découvre périodiquement et de manière inattendue que les paramètres de Windows Update ont été réinitialisés à leurs valeurs d’origine et que Windows est revenu à imposer des mises à jour à l’utilisateur.

Le service Windows Update Medic ne peut pas être désactivé du tout. Toute tentative en ce sens se terminera par le message "Accès refusé".

Néanmoins, il existe un produit tiers pouvant bloquer totalement Windows Update: Windows Update Blocker . Ce produit gratuit est portable et peut désactiver / activer Windows Update en un seul clic. En fait, il peut également bloquer tout autre service Windows non bloquable. Il est rapporté que travaille toujours en 2018.

L'utilisation d'un produit tiers peut s'avérer plus sûre à long terme que de compter sur des fonctionnalités semi-documentées de Windows, susceptibles de changer sans préavis. Certains de nos produits gratuits peuvent être trouvés dans cette réponse , qui utilise l’API de Windows qui permet à tout programme d’opposer son veto à un arrêt imminent.

harrymc
la source
2

Enfin trouvé une solution permanente qui fonctionne

Après avoir essayé littéralement tous les trucs du livre, j'ai toujours été battu par Windows Update. J'ai essayé toutes les solutions ici, ainsi que des tonnes d'autres sources, et Windows a constamment trouvé le moyen de contrecarrer mes projets.

Jusqu'à il y a environ 6 mois ...

J'ai trouvé une solution permanente pour désactiver TOUTES les mises à jour Windows à jamais, que le service ou autre soit en cours d'exécution. J'ai découvert cette méthode avec l'aide de nombreuses sources différentes qui traitaient de nombreuses choses différentes. Dans l’ensemble, j’ai trouvé cette méthode moi-même en utilisant des éléments d’information utilisés pour faire des choses qui n’étaient pas toutes liées à cela, mais cela fonctionne. Et cela fonctionne absolument à merveille.

  1. Installer le proxy DNS acrylique à partir d' ici

Il s’agit essentiellement d’une version optimisée du fichier hosts de Windows qui vous permet d’ajouter des fonctions telles que des caractères génériques, ce qui est nécessaire dans notre cas en raison des nombreuses sources dont Windows dispose pour ses mises à jour.

  1. Suivez les instructions ci- dessous pour que l’acrylique commence à faire son travail dans Win 10. Un jeu assez simple.

  2. Allez dans le menu Démarrer, puis cliquez sur " Modifier le fichier d'hôtes acrylique " sous Tous les programmes, comme indiqué ici.

  3. Ajoutez ces lignes au bas du fichier hosts, sans le signe # devant.

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 télécharger.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

Maintenant, le bas du fichier devrait ressembler à ceci . Enregistrez et fermez le fichier.

  1. Ouvrez le gestionnaire de tâches, allez dans l'onglet Services, cliquez sur "Ouvrir les services" en bas, sélectionnez Proxy DNS acrylique et cliquez sur ce bouton avec le cercle rouge pour redémarrer le service.

FINI

Maintenant , votre copain acrylique devrait avoir votre dos et garder en permanence un œil sur la tactique Big Brother de Microsoft pour vous assurer qu'ils ne peuvent pas forcer les pauvres vieux vous d'installer les mises à jour gâcher votre PC complètement qu'ils ont au moins un quatrième du temps , ils l'a fait à la fois sur mon PC à la maison et sur ma Surface Pro, qui est censé être le PC construit pour Windows, non ??? Cmon, Microsoft!

  1. Assurez-vous qu'il fonctionne en envoyant une requête ping sur l'un des sites Web figurant dans le code ci-dessus. Ouvrez cmd et tapez

ping windowsupdate.microsoft.com

Si ce sont vos résultats, vous serez dorés à partir de maintenant !!

Remarque: d'après mon expérience, cela n'a pas du tout ralenti mon PC. En outre, il ne redirige pas le trafic Internet en dehors des requêtes vers les sources utilisées par Windows pour mettre à jour ou vérifier les mises à jour, ce qui est très similaire au fichier hosts. Il utilise également essentiellement le même format que le fichier hosts. Cela a également permis de désactiver avec succès la réinstallation des fichiers indésirables que Windows continue de placer sur mon ordinateur et qui affiche un écran couleur géant indiquant quelque chose du type "vous devez mettre à jour ou votre ordinateur implose". Évidemment, je ne me souviens pas de la mise en garde car cela fait si longtemps que je ne l’ai pas reçue (en raison d’un blocage total réussi il ya 6 mois environ), mais c’est la chose la plus agaçante que j’ai jamais vue.

Jackary Smith
la source
hahahaha. oh mec. cette réponse est juste. sensationnel. intelligent. très intelligent. Je ne peux tout simplement pas souligner à quel point cette réponse est bonne. Des millions de personnes se présentent à la porte d'entrée où se trouvent des centaines de défenses. mais cette solution vient du côté où il n'y a pas de défense et la construction de défenses ne serait pas vraiment possible à cause de la conception de l'internet.
Trevor Boyd Smith le
Si vous avez un routeur / une passerelle / un boîtier de réseau domestique sophistiqué avec des fonctionnalités DNS sophistiquées ... alors vous pourriez faire quelque chose de similaire à l'OMI.
Trevor Boyd Smith le
1

Désactiver le service de mise à jour

  1. Win+R > services.msc
  2. Double-cliquez sur Windows Update et définissez le type de démarrage sur Désactivé. Pour le réactiver, retournez aux services et changez-le en automatique.

Source: Comment contrôler les mises à jour de Windows 10

Ooker
la source
1

Dans mon cas, je souhaite non seulement contrôler le moment où les mises à jour de Windows sont publiées, mais également limiter le contrôle de toutes les applications installées sur leurs mises à jour en ligne.

Voici donc ma solution simple: 1. Bloquez l'accès Internet pour l'hôte côté routeur. Aucun des programmes ou services installés sur l'hôte ne peut accéder à Internet. Les mises à jour de Windows sont également bloquées.

  1. Installez un serveur proxy Squid sur un réseau local et attribuez le proxy aux applications qui leur permettent d'accéder à Internet. Ne définissez pas de proxy sur le Panneau de configuration | Option Internet, car il s’agit d’un proxy global, qui annule l’étape 1.

La plupart des applications prennent en charge les paramètres de proxy par application, tels que Chrome, Firefox, Tous les types de jeux, etc.

  1. Pour les applications qui ne prennent pas en charge les paramètres de proxy local, utilisez NAS Cloud fold en tant que proxy proxy. Par exemple, les combinaisons Office 365 ne prennent pas en charge le proxy par programme. Vous pouvez ensuite configurer une synchronisation Cloud NAS (par exemple, Synology NAS dispose d'une synchronisation Cloud pour synchroniser OneDrive) afin de synchroniser les concentrés dans un repli NAS, puis vous utiliserez ce repli comme repli local d'Office 365. Les avantages supplémentaires de cette méthode sont que vous obtenez une réponse très rapide sur les gros fichiers, car vous utilisez la vitesse du réseau local pour accéder à OneDrive.

En faisant cela, l'accès à Internet de votre ordinateur est grandement contrôlé par vous-même, personne ne peut vous gâcher.

Lorsque vous souhaitez mettre à jour Windows, définissez Panneau de configuration | Option Internet pour utiliser votre proxy local, donc Windows peut mettre à jour votre système d'exploitation. Après cela, désactivez immédiatement le proxy global pour que votre ordinateur soit à nouveau en paix.

Jack Wu
la source
0

Deux ans plus tard et des milliards d’œuvres non enregistrées perdues par le mécanisme de mise à jour de Microsoft, il existe enfin une mise à jour majeure qui résout le problème.

Windows 10 Creators Update est maintenant disponible ( téléchargement direct )

Après l’installation de la mise à jour, l’utilisateur finira par demander à nouveau (comme ceux insignifiants plus de 20 ans auparavant) s’il souhaite que la mise à jour soit appliquée:

win10 nouveau ancien message de mise à jour

Parfois, je me demande qui est derrière ces décisions ...

Après la mise à jour, vous avez plus d'options concernant les temps de mise à jour. Pour les arrêter, accédez à Paramètres Windows Update> Options avancées> Suspendre les mises à jour> Activé .

mettre les mises à jour en pause

Sous Options de redémarrage, vous trouverez également une nouvelle option pour les notifications de mise à jour:

mises à jour de notification

Kai Noack
la source
1
Comment cela répond-il à la question?
magicandre1981
"un moyen d’arrêter les mises à jour automatiques" - C’est un moyen de se débarrasser des mises à jour automatiques forcées. Et pour les arrêter, accédez à Paramètres Windows Update> Options avancées> Suspendre les mises à jour> Activé. J'ai ajouté ceci à la réponse. (Vous avez encore plus d'options après la mise à jour Windows.)
Kai Noack
0

Désactiver toutes les mises à jour Windows par PowerShell

(exécutez PowerShell en tant qu'administrateur)

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
la source
0

Bien que j'ai désactivé la mise à jour dans les services et l'éditeur de stratégie de groupe, celle-ci est toujours réactivée de temps à autre. Ensuite, je dois les désactiver manuellement dans Services. Faire cela via l'interface graphique est gênant, j'ai donc écrit un script batch. Il arrête et désactive Background Intelligent Transfer Serviceet Windows Update.

@echo off

net stop wuauserv
net stop BITS

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

pause

J'utilise également (pas spécifiquement pour cela) un outil de surveillance réseau léger (Bandwidth Monitor), donc je sais quand il y a une activité (une icône dans la barre d'état système). Si je vois une activité alors qu'il ne devrait pas y en avoir, je sais que Windows Update s'est réactivé. Ensuite, je lance le script et il est désactivé.

akinuri
la source