自動更新をすべて停止する Windows 10

windows-10 windows-update

いくつかのマシンをWindows10にアップグレードしたのですが、必要に応じて更新されるアップデートがあることに気づきました。しかし、Windows 7や8.1の時と同様にダウンロードを停止するオプションがないことに気づきました。ダウンロードを停止するには、Windows Updateサービスを停止するしかなかったのです

私の質問は、誰もが自動更新を停止する方法を知っているか、またはサービスを停止すると、唯一の解決策ですか?

  83  Izzy  2015-07-29


ベストアンサー

Pro 版をお持ちの場合は、グループポリシーエディタ (gpedit.msc)を開き、Configure automatic updatesエントリを検索してください

computer configuration → administrative templates → windows components → windows update

を選択し、Notify for download and notify for installを選択します

Windowsが新しいアップデートを検出すると、トースト通知が表示されます

また、Update KB3073930のトラブルシューターを使用して、いくつかの問題のあるアップデートを無効にして、それらが再びインストールされないようにすることもできます

これは、不要なアップデートやドライバのセットアップを防ぐためのMicrosoftからの公式な方法です

しかし、Windows Update MiniToolと呼ばれるサードパーティ製のツールがあり、これはインストールできるアップデートを選択することができ、以前のWindowsバージョンでできたようにアップデートをブロックすることができます

標準的な Windows Update に代わるもの 何ができるか。 – アップデートのチェック – アップデートのダウンロード – アップデートのインストール – インストールされたアップデートの削除 – 不要なアップデートの非表示 – *.cab / *.Exe / *.Psf アップデートファイルへの直接リンクの取得 – アップデート履歴の表示 – 自動アップデートの設定 – このツールは外部のパワーシェルモジュール PSWindowsUpdate に似ていますが、より高度でユーザーフレンドリーな機能を備えています – このツールは同じ WU インフラストラクチャに依存しており、ダウンロードはすべて WU を介して行われます

ユーザーslavanapは、アップデートを選択的にインストールできる2つ目のツールをコメントに投稿しました。これは Windows10 マニュアルアップデートと呼ばれ、github上で利用可能です

Windows 10 creators Updateでは、Windowsの更新を35日間停止するオプションがあります

Windows Updateのオプションがある設定アプリの下にあります

41  magicandre1981  2015-07-31


Windows 10について最も物議を醸している側面の1つは、アップデートを義務化するというMicrosoftの決定です。あなたがWindowsを持っている場合 10 Pro, エンタープライズや教育版では、更新を延期することができます, しかし、あなたはそれらを完全に拒否することはできません

マイクロソフトがあなたの発言なしにシステムにアップデートを強制的にインストールすることに不満がある場合は、W10Privacyを使用して、この機能をブロックすることができます

あなたがこのプログラムの前に聞いたことがない場合は、ソフトウェアは、Windows 10の多くのプライバシー機能を制御することができますので、チェックアウトする価値は十分にあります, あなたが何をするかでOSが詮索を防ぐことができます.オプションは色分けされているので、何かを変更/無効にするかどうかを一目で安全かどうかを確認することができます

W10Privacy 2では、Windows 10独自の更新メカニズムを無効にし、独自の更新メカニズムに置き換えるプログラムを設定できるようになりました。ユーザーはどのアップデートをインストールし、どのアップデートを無視するかを選択することができます。これは誰もがすべきことではありませんが、必要に応じて簡単に手順を逆にすることができます

この機能を使用する前に、いくつかの追加コンポーネントをダウンロードする必要があります。以下の手順に従ってください

  • W10Privacy 2をダウンロードし、ハードドライブ上のフォルダに解凍します
  • PsExec(PsTools パッケージの一部)をダウンロードし、W10Privacy フォルダにコピーしてください
  • Technet から Windows Update PowerShell モジュールをダウンロードし、W10Privacy フォルダ内のサブフォルダに解凍します
  • W10Privacy.exeを右クリックし、コンテキストメニューから「管理者として実行」を選択します。システムの復元ポイントを作成することを選択します。また、システムの完全なバックアップを取る価値があります(念のため)
  • オプションを管理するには、「その他」>「Windows Update」に移動します。6つのチェックボックスがあります。どれもデフォルトでは有効になっていません。チェックボックスは以下の通りです
  • PSWindows Updateモジュールが存在する(W10Privacyフォルダにユーザーが事前に提供する必要があります)
  • W10Privacyフォルダ内のPsExec.exe(ユーザーが提供する必要があります)。PSWindows-UpdateモジュールのW10Privacy適応
  • 偽WSUSサーバを設定します

  • W10Privacyはスペースのないパス/フォルダにあります。アップデート検索でドライバを考慮しないでください

  • アップデートを手動で管理したい場合は、最初の5つのオプションにチェックを入れます。6番目のオプションでは、更新プログラムと一緒にドライバをリストアップするかどうかを決めることができます。これはあなた次第です
  • 変更された設定を設定]をクリックし、[アップデートのチェックを開始]ボタンをクリックすると、まだインストールされていない新しいアップデートが表示され、どのようなアクションを取るかを選択することができます

アップデートを管理したら、定期的にソフトウェアを実行し、重要なアップデートを見逃さないようにチェックしましょう

Credits:

  1. Windows 10の自動アップデートを完全にコントロールする方法

10  xavier_fakerat  2017-03-23


ラムハウンドの助けを借りて、私はWindows 10で自動更新を停止する方法を把握することができました

これは私が実行しているバージョンなので、Windows 10 Proに適用されますのでご注意ください

autmaticの更新を停止するには、次のようにします

  1. Open Settings
  2. アップデートとセキュリティをクリックします
  3. Advanced options をクリックしてください
  4. Defer upgrades オプションがチェックされていることを確認する
  5. 設定画面を閉じれば完了です

Update

Vinayakさんのコメントにもありましたが、ホームユーザーの方でも遅延オプションが利用できるようになりました。詳細はこちらをご覧ください

6  Izzy  2015-07-29


Windows 10 Homeユーザー向け

Windows Centralから以下の方法を試してみてください。基本的には、更新サービスではなく、再起動サービスを無効にします。そうすれば、好きなときに再起動できるようになります。注意点としては、管理者権限が必要ですが、Windows Home版を使っているので、すでに持っていると思います

  1. Windows エクスプローラーのウィンドウから、ファイル名を変更します。C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot (%windir%C:\の場合)をReboot.oldにリネームしてください。ここでは、管理者アクセスを要求されるので注意してください
  2. Rebootという名前のディレクトリをC:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\に作成します。これにより、ウィンドウズが同じ名前のファイルを再作成するのを防ぐことができます。ここでは、管理者アクセスを要求されるので注意してください
  3. マシンを再起動します。これにより、すべてのサービスがリセットされ、再起動サービスが起動しなくなります

注意してください、これはマイクロソフトが推進しているものではありません。しかし、再び、どちらもあなた自身のブートスケジュールを制御することはできません。真面目な話、もしあなたが何をしているのかわからないなら、インターネット上の指示に従うことでリスクを理解してください。これは確かに、Windows 95 を理解していれば、ここで何が起こっているかを説明するのに役立つだろうという単純なものです

5  Sablefoste  2017-09-17


以前のバッチファイルを大幅に作り直した トグルスイート をベストプラクティスのブロッキング機能を備えた単一のスクリプトにしました。 動作を見る

デスクトップの右クリックコンテキストメニューの動的なUIとすべてのトグル! すべてのブロックのオン/オフ、更新(ペーストビンから)、アンインストールスクリプトのオプションをトグルします

更新リストの非表示/非表示/インストールをカウンターで表示! リストは、WindowsがMusNotificationを介してあなたに口うるさいときに自動的に更新されます!

ビルドアップグレード、自動インストール、ダウンロード、サービスを独立してブロックし、所有権の破壊的な変更、ファイルの削除、またはタスクの削除を伴わないIFEO安全なブロッキング

フォーカスは、独立して動作しているDefenderのアップデートに設定されているWindowsの騒乱の自動更新をトグルオフにすると、他の任意の-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
}
//

v10.0最終更新。上の pastebin のリンクに最新のコードがあります

4  AveYo  2018-03-27


Windows Updateの様子-2019年の始まりです

マイクロソフトはWindows Updateを必然的に行うために多大な努力をしてきたので、従来の方法が通用しなくなったり、期間限定でしか通用しなくなったりしています

マイクロソフトは、Windows の更新を目的とした無効化できないシステムサービスを追加してきました。その中でも特に重要なのは、更新オーケストレータサービスで、更新プログラムのダウンロード、インストール、および検証を行うことを目的としています。停止していると、コンピュータは更新プログラムをダウンロードしてインストールすることができなくなり、現在のセッションでのみ無効にすることができ、次の再起動時に再び有効になります

Windows Update を止められないようにすることを担当しているのは、Windows Update の機能を維持することを任務としている新しい Windows Update Medic Service です。このサービスは、Windows Updateをブロックするための従来の方法をすべて元に戻すもので、定期的に、そして不意に、Windows Updateの設定が元の値にリセットされ、Windowsがユーザーにアップデートを強制することに戻ってしまったことを知ることになります

Windows Update Medic Service自体を無効にすることは一切できません。これを試みようとすると、「アクセスが拒否されました」というメッセージが表示されて終了します

それにもかかわらず、Windows Updateを完全にブロックすることができるサードパーティ製品が存在します。Windows Update Blockerです。この無料製品はポータブルで、ワンクリックでWindows Updateを無効化/有効化することができます。実際には、他のブロックできないWindowsサービスをブロックすることもできます。2018年現在も動作していると報告されています

サードパーティの製品を使うのは、予告なしに変更される可能性のあるWindowsの半文書化された機能に頼るよりも、長い目で見れば安全かもしれません。より多くのフリーの製品は、私のこの回答にあるかもしれませんが、これは、差し迫ったシャットダウンを拒否することができるWindows APIを使用しています

4  harrymc  2019-01-17


ようやく永久固定を見つけました

文字通りすべてのトリックを試した後、私はいつもWindows Updateに負けてしまいました。私はここですべての解決策を試してきました プラス他のソースのトン、そしてWindowsは常に私の計画を妨害する方法を見つけました

半年くらい前までは

私は、サービスや他の何かが実行されているかどうかに関係なく、永遠にすべてのウィンドウズアップデートを無効にするための恒久的な解決策を見つけました。私は、多くの異なるソースの助けを借りて、この方法を考え出しました。全体的に、私はこの方法を自分で見つけましたビットとこれにすべて関連していないことを行うために使用される他の情報の断片を使用して、それは動作します。そして、それは絶対に美しく動作します

  1. こちらからアクリルDNSプロキシをインストールします

これは基本的には Windows のホストファイルをスープアップしたもので、ワイルドカードのような機能を追加することができます

  1. こちらの指示に従ってください。かなりシンプルなもの

  2. スタートメニューに移動し、こちらに表示されているすべてのプログラムの下にある「アクリルホストファイルの編集」をクリックします

  3. これらの行を hosts ファイルの一番下に追加します

0.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 ダウンロード。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

これでファイルの下部はthisのようになります。保存してファイルを閉じます

  1. タスクマネージャーを開き、サービスタブに移動し、下部の「サービスを開く」をクリックし、Acrylic DNS Proxyを選択し、このボタンを赤丸で囲んでクリックしてサービスを再起動します

FINISHED

今、あなたのアクリルの仲間はあなたの背中を持っている必要がありますし、常にマイクロソフトのビッグブラザーの戦術に目を光らせて、彼らはあなたのPCを完全に台無しにするアップデートをインストールするために貧しい年寄りを強制することができないことを確認するために、彼らは少なくとも時間の4分の1を持っていることを確認してください。Cmon, Microsoft!

  1. 上記のコードにあるウェブサイトのいずれかにpingを打って、動作していることを確認してください。cmdを開いてタイプします

ping windowsupdate.microsoft.com

これらのがあなたの結果であれば、今からあなたは黄金になるでしょう!

注意: 私の経験では、これは私のPCが遅くなることは全くありませんでした。また、Windows が更新や更新のチェックに使用するソースへのリクエスト以外のインターネットトラフィックを迂回させないので、hosts ファイルと非常によく似ています。また、基本的にはhostsファイルと同じ形式を使用しています。これはまた、「アップデートしないとコンピュータが爆発します」というような巨大な色の画面が表示される、Windowsが私のコンピュータに配置し続けているジャンク品の再インストールを無効にすることにも成功しました。明らかに私はそれが私がそれを取得してから非常に長いので、警告が何を言ったのか覚えていません(半年ほど前に完全に成功したブロッキングのため)、しかし、それは私が今まで見た中で最も迷惑なものでした

3  Jackary Smith  2018-10-13


更新サービスを無効にします

  1. Win+R > services.msc
  2. Windows Updateをダブルクリックし、Startup TypeをDisabledに変更します。再度有効にするには、サービスに戻り、自動に変更します

ソースは以下の通りです。Windows 10のアップデートを制御する方法

1  Ooker  2017-12-04


私の場合は、Windowsのアップデートがいつ実行されるかを制御するだけでなく、インストールされているすべてのアプリケーションをオンラインアップデートで制御できない状態から制限したいと思います

だから私の簡単なワンストップソリューションは:1.ルータ側のホストのインターネットアクセスをブロックします。ホストにインストールされているプログラムやサービスのどれもインターネットにアクセスすることはできません。Windowsのアップデートもブロックされています

  1. ローカルネットワーク上にSquid Proxy Serverをインストールし、インターネットに接続するアプリケーションにプロキシを与えます。プロキシをコントロールパネルのインターネットオプションに設定しないでください

ほとんどのアプリケーションは、Chrome、Firefox、ゲームのすべての種類などのようなアプリケーションベースのプロキシ設定ごとにサポートしています

  1. ローカルプロキシの設定に対応していないアプリケーションは、NASのクラウドフォールドをクラウドプロキシとして利用します。例えば、Office 365スーツはプログラム単位のプロキシをサポートしていません。NAS Cloud Sync(例えば、Synology NASにはOneDriveを同期するCloud Syncがあります)を設定してNASフォールド内のコンテンツを同期させ、そのフォールドをOffice 365のローカルフォールドとして使用します。この方法のさらなる利点は、OneDrive にアクセスするためにローカル ネットワーク速度を使用しているため、大きなファイルに対して非常に高速な応答を得ることができることです

これらを行うことによって、あなたのコンピュータのインターネットへのアクセスは、自分自身によって大きく制御され、誰もあなたを台無しにすることはできません

Windowsをアップデートしたいときは、コントロールパネル→インターネットオプションでローカルプロキシを使用するように設定すると、WindowsがOSのアップデートを行うことができます。その後、すぐにグローバルプロキシをオフにして、あなたのコンピュータを再び平和な、かなりの世界に設定します

1  Jack Wu  2018-07-21


2年後、マイクロソフトのアップデート機構によって何十億もの未保存作品が失われたが、ついに問題を解決する大型アップデートが登場した

Windows 10 Creators Updateが利用可能になりました (直接ダウンロード)

アップデートをインストールした後、ユーザーは最後に、アップデートの適用を希望するかどうかを再度尋ねてきます(20年以上前の重要でない20年以上前のような)

時々、その決断の背後には誰がいるのかと思うことがあります

更新後、更新時間に関するオプションが追加されました。更新を停止するには、[Windows Update Settings > Advanced Options > Pause Updates > ON]を選択します

再起動オプションの下には、更新通知のための新しいオプションもあります

0  Kai Noack  2017-07-14


サービスとグループポリシーエディタで更新を無効にしても、まだ時々オンに戻ります。そうなると、Servicesで手動でオフにしないといけない。GUIでやるのは面倒なので、バッチスクリプトを書いてみました。これでBackground Intelligent Transfer ServiceWindows Updateを停止して無効化します

@echo off

net stop wuauserv
net stop BITS

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

pause

また、軽いネットワーク監視ツール(Bandwidth Monitor)も使っているので、アクティビティ(システムトレイのアイコン)があるときはわかるようになっています。何もないはずのアクティビティが表示されれば、Windows Updateがオンに戻ったことがわかります。その後、スクリプトを実行するとオフになります

0  akinuri  2019-09-18


windowsのアップデートを無効にするには、無効にする必要があります

  • Windows Update(wuauserv)
  • Windows Update Medic Service(WaaSMedicSvc)
  • Microsoft Update Orchestrator Service (UsoSvc)

そして、おそらくこの仕事

schtasks /Change /TN "Microsoft\Windows\WindowsUpdate\Automatic App Update" /Disable

Windowsのバージョンごとに変わってきますが、これらでいいと思います。サービスの起動オプションを無効に変更するには、レジストリに適切なパーミッションが必要です(サービスGUIでは手動ではできません)。必要なパーミッションはSetACLツールで取得できます。レジストリ内のサービスの起動パラメータはHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesにあります。disabled」の値はdword:4です

0  GChuf  2020-08-03


こちらはWindows 10 Homeの解決策です

GitHub - WereDev/Wu10Man: Enable/Disable Windows 10 Automatic Updates
Enable/Disable Windows 10 Automatic Updates. Contribute to WereDev/Wu10Man development by creating an account on GitHub.

これは、Windows Updateサービスを無効にすることができる最新(2020年)のオープンソースプログラムです

0  Steven Penny  2020-08-07


PowerShellによるすべてのウィンドウズアップデートを無効にします

(管理者としてPowerShellを実行)

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"

-1  frakon  2018-04-12