Menghentikan semua pembaruan otomatis Windows 10

75

Kami telah memutakhirkan beberapa mesin ke Windows 10 dan menyadari ada beberapa pembaruan yang diperbarui sesuai kebutuhan. Namun, saya menyadari tidak ada opsi yang tersedia untuk menghentikan unduhan yang serupa dengan yang ada pada Windows 7 dan 8.1. Satu-satunya cara saya bisa menghentikan unduhan adalah menghentikan layanan Pembaruan Windows .

Pertanyaan saya adalah apakah ada yang tahu cara untuk menghentikan pembaruan otomatis atau menghentikan layanan adalah satu-satunya solusi?

Izzy
sumber
4
Jika Anda memiliki Windows 10 Home maka ini tidak dapat dilakukan. Jika Anda memiliki Windows 10 Professional, Anda dapat menunda pembaruan hingga 8 bulan. jika Anda memiliki Windows 10 Enterprise Anda dapat menunda pembaruan asalkan Anda mengindikasikan LSTB yang ingin Anda gunakan. Ada alat yang dapat Anda unduh yang akan memungkinkan Anda untuk menunda pembaruan individual jika menyebabkan masalah. Pertanyaan ini sudah ditanyakan beberapa kali sekarang. .
Ramhound
Selain itu, pada akhirnya, untuk menerima pembaruan keamanan di masa depan, sistem Anda harus memiliki semua pembaruan yang diperlukan bahkan jika Anda menjalankan Windows 10 Professional. KB3073930 adalah alat yang Anda inginkan jika Anda ingin menyembunyikan / menunda pembaruan individu.
Ramhound
@Ramhound Saya mengerti bahwa pembaruan keamanan akan diperlukan dll, tetapi kadang-kadang Anda hanya ingin menjeda mereka dan memulainya nanti. Kami menjalankan versi pro. Apakah Anda tahu di mana saya bisa mendapatkan alat yang Anda sebutkan di komentar Anda?
Izzy
2
Berhenti dan menunda adalah 2 hal berbeda.
Moab
2
Harap dicatat bahwa semua jawaban di sini hanya mencakup pembaruan dari Pembaruan Windows, tetapi tidak jelas apakah pertanyaannya dimaksudkan untuk mencakup hal itu. Windows 10 tampaknya memiliki dua metode pemutakhiran bawaan lainnya: pembaruan driver perangkat dikontrol secara terpisah (System & rarr; Pengaturan sistem lanjutan & rarr; Perangkat Keras & rarr; Pengaturan Instalasi Perangkat tampaknya mencakup hal ini) dan pembaruan otomatis aplikasi Store dikontrol melalui Toko (saya pikir ini juga akan menghentikan Candy Crush Soda Saga, misalnya, agar tidak dipasang secara otomatis).
doshea

Jawaban:

40

jika Anda memiliki Edisi Pro, buka editor kebijakan grup (gpedit.msc) cari Configure automatic updatesentri, yang terletak di:

computer configuration → administrative templates → windows components → windows update

masukkan deskripsi gambar di sini

dan pilih Notify for download and notify for install.

Ketika Windows mendeteksi pembaruan baru itu menunjukkan pemberitahuan bersulang .

masukkan deskripsi gambar di sini

Anda juga dapat menggunakan pemecah masalah dari Pembaruan KB3073930 untuk menonaktifkan beberapa pembaruan yang bermasalah, sehingga tidak diinstal lagi.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Ini adalah cara resmi dari Microsoft untuk mencegah pengaturan pembaruan dan driver yang tidak diinginkan.

Tetapi ada alat pihak ke-3 yang disebut Windows Update MiniTool yang memungkinkan untuk memilih pembaruan mana yang dapat diinstal dan memungkinkan untuk memblokir pembaruan seperti yang Anda bisa di versi Windows sebelumnya.

masukkan deskripsi gambar di sini

Alternatif untuk Pembaruan Windows standar Apa yang dapat Anda lakukan:
• Memeriksa pembaruan
• Mengunduh pembaruan
• Menginstal Pembaruan
• Menghapus pembaruan yang diinstal
Menyembunyikan pembaruan yang tidak diinginkan
• Dapatkan tautan langsung ke file * .cab / * .Exe / * .psf pembaruan
• Lihat riwayat pembaruan
Konfigurasikan Pembaruan Otomatis
• Alat ini seperti modul powershell eksternal PSWindowsUpdate, tetapi fitur yang lebih canggih dan ramah pengguna
• Alat ini mengandalkan dan menggunakan infrastruktur WU yang sama, semua pengunduhan dilakukan melalui WU bukan pengunduh

Slavanap pengguna memposting alat ke-2 dalam komentar yang memungkinkan Anda menginstal pembaruan secara selektif. Ini disebut Pembaruan Manual Windows10 dan tersedia di github :

masukkan deskripsi gambar di sini.

Di Pembaruan pencipta Windows 10, ada opsi untuk menghentikan Pembaruan Windows selama 35 hari:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

di bawah Pengaturan Aplikasi tempat opsi Pembaruan Windows.

magicandre1981
sumber
2
Bagaimana jika Anda memiliki edisi Home?
Kolonel Panic
1
@ColonelPanic mencoba menetapkan nilai AUOptions di bawah HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU ke 2 . Apakah ini berhasil?
magicandre1981
1
Saya tidak berpikir bahwa MiniTool adalah open source. Silakan lihat sumber terbuka ini solusi paling sederhana bagaimana melakukan Pemutakhiran Pemutakhiran Windows 10 mirip dengan versi Windows yang sebelumnya github.com/slavanap/Windows10ManualUpdate
Vyacheslav Napadovsky
3
@ magicandre1981 Sabotase? Itu bukan "terima kasih" untuk memperbaiki tautan mati dan buntu.
2
-1 bukan karena itu salah Anda, tetapi karena jawaban Anda sekarang kedaluwarsa. Windows sekarang mengaktifkan Pembaruan Windows kembali bahkan setelah semua solusi klasik.
Mehrdad
10

Salah satu aspek paling kontroversial tentang Windows 10 adalah keputusan Microsoft untuk membuat pembaruan wajib. Jika Anda memiliki edisi Windows 10 Pro, Enterprise atau Education, Anda dapat menunda pembaruan, tetapi Anda tidak dapat langsung menolaknya .

Jika Anda tidak puas dengan Microsoft secara paksa menginstal pembaruan pada sistem Anda tanpa Anda katakan, Anda dapat memblokir fungsi ini menggunakan W10Privacy .

Jika Anda belum pernah mendengar tentang program ini sebelumnya, Anda perlu memeriksa karena perangkat lunak ini memberi Anda kendali atas banyak fungsi privasi Windows 10, memungkinkan Anda untuk mencegah OS mengintip apa yang Anda lakukan. Opsi diberi kode warna sehingga Anda dapat melihat sekilas apakah ada sesuatu yang aman untuk diubah / dinonaktifkan atau tidak.

Di W10Privacy 2 , Anda sekarang dapat mengatur program untuk menonaktifkan mekanisme pembaruan Windows 10 sendiri dan menggantinya dengan sendiri. Pengguna dapat memilih pembaruan mana yang akan dipasang, dan mana yang diabaikan. Ini bukan sesuatu yang harus dilakukan semua orang, tetapi Anda dapat dengan mudah membalikkan langkah-langkah yang harus Anda lakukan.

Sebelum Anda dapat menggunakan fungsi ini, Anda perlu mengunduh beberapa komponen tambahan. Ikuti langkah ini:

  • Unduh W10Privacy 2 dan unzip ke folder di hard drive Anda.
  • Unduh PsExec (bagian dari paket PsTools ) dan salin ke folder W10Privacy.
  • Unduh Modul Pembaruan PowerShell Windows dari Technet , dan unzip ke subfolder di folder W10Privacy.
  • Klik kanan W10Privacy.exedan pilih Jalankan sebagai administrator dari menu konteks. Pilih untuk membuat titik pemulihan sistem. Layak juga membuat cadangan sistem lengkap (untuk berjaga-jaga).
  • Pergi ke Ekstra> Pembaruan Windows untuk mengelola opsi. Ada enam kotak centang yang berbeda. Tidak ada yang diaktifkan secara default. Mereka:
  • Modul Pembaruan PSWindows ada (harus disediakan sebelumnya oleh pengguna ke folder W10Privacy).
  • PsExec.exe di folder W10Privacy (harus disediakan oleh pengguna). W10Privasi adaptasi dari Modul PSWindows-Update.
  • Konfigurasikan server WSUS palsu.

  • W10Privacy terletak di jalur / folder tanpa spasi. Jangan pertimbangkan driver dalam Perbarui Pencarian.

  • Dengan asumsi Anda ingin mengelola pembaruan secara manual, periksa lima opsi pertama. Opsi keenam memungkinkan Anda memutuskan apakah akan membuat daftar driver bersama pembaruan. Ini terserah kamu.
  • Klik Setel pengaturan yang diubah, lalu klik tombol Mulai memeriksa pembaruan dan Anda akan diperlihatkan pembaruan baru yang belum diinstal dan dapat memilih tindakan apa yang akan diambil.

Tangkapan layar

Setelah Anda bertanggung jawab atas pembaruan Anda, jalankan perangkat lunak secara teratur dan periksa untuk memastikan Anda tidak ketinggalan pembaruan penting;

masukkan deskripsi gambar di sini

Kredit:

  1. Cara mendapatkan kontrol total atas pembaruan otomatis Windows 10
xavier_fakerat
sumber
1
Solusi terbaik, karena sepenuhnya mencegah Windows melihat pembaruan sama sekali.
Marcus
oh tidak .. Kenapa tidak ada perintah tunggal. Seseorang memberi saya pintu, jendela ini tinggi untuk berjalan.
Mustkeem K
6

Dengan bantuan @Ramhound, saya berhasil menemukan cara untuk menghentikan pembaruan otomatis di windows 10.

Harap dicatat ini berlaku untuk Windows 10 Pro karena ini adalah versi yang saya jalankan.

Untuk menghentikan pembaruan otomatis Anda dapat melakukan hal berikut:

  1. Buka Pengaturan
  2. Klik Perbarui & keamanan
  3. Klik Advanced options masukkan deskripsi gambar di sini
  4. Pastikan Defer upgradesopsi dicentang masukkan deskripsi gambar di sini
  5. Tutup jendela pengaturan dan selesai saja!

Memperbarui

Seperti yang disebutkan dalam komentar oleh @Vayak, opsi penundaan sekarang tersedia untuk pengguna rumahan. Informasi lebih lanjut di sini

Izzy
sumber
Saat Anda mencari di sana, dapatkah Anda melihat apakah ada layanan pembaruan windows yang hanya dapat dinonaktifkan di layanan. Wuauserv atau wuaueng.dll atau sesuatu? bagi mereka yang mungkin menggunakan metode yang berbeda?
Psycogeek
1
WuauservLayanan @Psycogeek ada di sana dan dapat dihentikan / dinonaktifkan. Beginilah awalnya saya menghentikan pembaruan
Izzy
5
Sebagian besar web membuatnya seolah-olah dunia akan berhenti berputar, jika pembaruan windows 10 dihentikan :-) dan bagaimana tombol itu tidak ada dalam beberapa edisi. Saya berasumsi Anda tidak memiliki masalah dengan itu? polisi mimpi tidak menyerang mimpi buruk Anda, OS tidak runtuh menjadi bola, dan tidak ada hewan peliharaan yang terluka dalam proses :-) Saya pikir T&J ini di sini dilakukan dengan baik dan dapat digunakan kembali untuk kontrol pembaruan W10 serupa pertanyaan.
Psycogeek
5
Perhatikan bahwa Microsoft menyerah dan sekarang upgrade Ditunda juga tersedia untuk pengguna Windows 10 Home .
Vinayak
1
defer menghentikan pembaruan ke Versi yang lebih baru seperti 1511 (Pembaruan November 2015) atau 1607 (pembaruan ulang tahun Juli 2016) dan membuat Anda mendapatkan pembaruan otomatis untuk versi yang lebih lama.
magicandre1981
4

windows_update_toggle
Pengerjaan ulang besar-besaran file batch sebelumnya beralih suite ke skrip tunggal dengan praktik terbaik memblokir!
Tonton dalam aksi

Desktop klik kanan menu UI dinamis dengan matikan untuk semuanya!
Matikan semua blok hidup / mati, Perbarui (dari pastebin) atau copot opsi skrip

Sembunyikan / Tampilkan / Instal daftar pembaruan dengan penghitung!
Daftar diperbarui secara otomatis setiap kali Windows akan mengganggu Anda melalui MusNotification!

Secara independen memblokir peningkatan Build, Instalasi Otomatis, Unduhan, Layanan
IFEO memblokir aman tanpa perubahan kepemilikan yang merusak, menghapus file atau menghapus tugas

Fokus ditetapkan pada pembaruan Defender yang bekerja secara independen.
Matikan windows mayhem pembaruan otomatis tidak akan mengorbankan lapisan perlindungan bawaan ,
tidak seperti pembaruan "manajemen" -DIY- lainnya

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
}
//

Terakhir diperbarui untuk final v10.0. Kode terbaru pada tautan pastebin di atas.

AveYo
sumber
Setiap kesempatan Anda bisa memberi tahu saya bagaimana Anda mendapatkan menu windows Anda memiliki latar belakang hitam ?!
wayofthutureure
1
Itu adalah tema berbasis kontras tinggi, tersedia di sini: pastebin.com/fA3t5Sd2
AveYo
4

Untuk Pengguna Windows 10 Home

Coba metode berikut dari Windows Central . Pada dasarnya, Anda akan menonaktifkan layanan reboot, bukan layanan pembaruan. Anda kemudian dapat reboot kapan pun Anda mau. Harap dicatat, Anda memerlukan hak administrator, tetapi saya menganggap Anda sudah memilikinya karena Anda menggunakan edisi Windows Home.

  1. Dari explorer jendela Windows, mengubah nama file: C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot(dengan asumsi Anda %windir%yaitu C:\) ke Reboot.old. Catatan, Anda akan dimintai akses administrator di sini.
  2. Buat sebuah direktori bernama Rebootdi C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\. Ini akan mencegah windows membuat ulang file dengan nama yang sama. Catatan, Anda akan dimintai akses administrator di sini.
  3. Nyalakan ulang mesin. Ini akan mengatur ulang semua layanan, dan mencegah memulai kembali layanan.

Harap dicatat, ini tidak dipromosikan oleh Microsoft. Tetapi sekali lagi, tidak ada yang mengendalikan jadwal boot Anda sendiri, jadi ambil MS itu! Serius, jika Anda tidak tahu apa yang Anda lakukan, pahami risiko yang Anda ambil dengan mengikuti petunjuk apa pun dari Internet. Ini tentu saja cukup sederhana sehingga pemahaman tentang Windows 95 akan membantu menjelaskan apa yang terjadi di sini.

Sablefoste
sumber
3

Keadaan Pembaruan Windows - mulai 2019

Microsoft telah bersusah payah untuk membuat Pembaruan Windows tidak terhindarkan, itulah sebabnya metode tradisional tidak berfungsi lagi, atau hanya berfungsi untuk waktu yang terbatas.

Microsoft telah menambahkan layanan sistem yang tidak dapat dinonaktifkan yang tujuannya untuk memperbarui Windows. Salah satunya adalah Layanan Pembaruan Orkestra , yang bertugas mengunduh, memasang, dan memverifikasi pembaruan. Jika dihentikan, komputer tidak dapat lagi mengunduh dan menginstal pembaruan, itulah sebabnya mengapa hanya dapat dinonaktifkan untuk sesi saat ini, dan akan diaktifkan kembali pada reboot berikutnya.

Layanan yang dibebankan untuk membuat Pembaruan Windows tidak terhentikan adalah Layanan Pembaruan Windows Medic baru , bertugas menjaga Pembaruan Windows berfungsi. Ini adalah layanan yang membatalkan semua metode tradisional untuk memblokir Pembaruan Windows, sehingga orang yang secara berkala dan tidak terduga akan mengetahui bahwa pengaturan Pembaruan Windows telah diatur ulang ke nilai aslinya dan bahwa Windows telah kembali untuk memaksa pembaruan pada pengguna.

Layanan Pemutakhiran Windows Pembaruan itu sendiri tidak dapat dinonaktifkan sama sekali. Setiap upaya untuk melakukannya akan berakhir dengan pesan "Akses Ditolak".

Namun demikian, ada produk pihak ketiga yang benar-benar dapat memblokir Pembaruan Windows : Pembaruan Pemblokir Windows . Produk gratis ini portabel dan dapat menonaktifkan / mengaktifkan Pembaruan Windows dengan satu klik. Bahkan, itu juga dapat memblokir layanan Windows lain yang tidak dapat dicekal. Dilaporkan masih bekerja pada tahun 2018.

Menggunakan produk pihak ketiga dalam jangka panjang mungkin lebih pasti daripada mengandalkan fitur semi-terdokumentasi Windows yang dapat berubah tanpa pemberitahuan. Beberapa lebih banyak produk gratis dapat ditemukan dalam jawaban saya ini, yang menggunakan Windows API yang memungkinkan setiap program memveto shutdown yang akan datang.

harrymc
sumber
2

Akhirnya ditemukan perbaikan permanen yang hanya berfungsi

Setelah mencoba setiap trik dalam buku ini, saya selalu dikalahkan oleh Pembaruan Windows. Saya sudah mencoba setiap solusi di sini ditambah banyak sumber lain, dan Windows terus-menerus menemukan cara untuk menggagalkan rencana saya.

Sampai sekitar 6 bulan lalu ...

Saya telah menemukan solusi permanen untuk menonaktifkan SEMUA pembaruan windows SELAMANYA terlepas dari apakah layanan atau apa pun yang sedang berjalan. Saya telah menemukan metode ini dengan bantuan banyak sumber berbeda yang berhubungan dengan banyak hal berbeda. Secara keseluruhan, saya menemukan metode ini sendiri dengan menggunakan potongan-potongan informasi lain yang digunakan untuk melakukan hal-hal yang tidak semuanya terkait dengan ini, tetapi ia berhasil. Dan itu bekerja dengan sangat indah.

  1. Instal Acrylic DNS Proxy dari sini

Ini pada dasarnya adalah versi suped up file host windows yang memungkinkan Anda untuk menambahkan fungsi seperti wildcard, yang diperlukan dalam kasus kami karena banyak sumber windows mendapatkan pembaruan dari.

  1. Ikuti instruksi di sini untuk membuat Acrylic mulai melakukan tugasnya di Win 10. Hal-hal yang cukup sederhana.

  2. Buka menu mulai Anda, dan klik " Edit File Host Acrylic " di bawah Semua Program, ditampilkan di sini

  3. Tambahkan baris ini ke bagian bawah file hosts, tanpa tanda # di depan.

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 unduh.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

Sekarang bagian bawah file akan terlihat seperti ini . Simpan dan tutup file.

  1. Buka task manager, buka tab layanan, klik "Open Services" di bagian bawah, pilih Acrylic DNS Proxy dan klik tombol ini dengan lingkaran merah untuk memulai kembali layanan.

JADI

Sekarang teman Acrylic Anda harus mendukung Anda dan terus-menerus mengawasi taktik Big Brother Microsoft untuk memastikan mereka tidak bisa memaksa Anda untuk menginstal pembaruan yang mengacaukan PC Anda sepenuhnya yang mereka miliki setidaknya seperempat dari waktu mereka. melakukannya pada PC rumah saya dan Surface Pro saya yang seharusnya menjadi BUILT PC untuk Windows, bukan ??? Ayo, Microsoft!

  1. Periksa untuk memastikan itu berfungsi dengan mem-ping salah satu situs web dalam kode di atas. Buka cmd dan ketik

ping windowsupdate.microsoft.com

Jika ini adalah hasil Anda, Anda akan menjadi emas mulai sekarang !!

Catatan: menurut pengalaman saya, ini sama sekali tidak memperlambat PC saya. Ini juga tidak mengubah rute lalu lintas Internet selain permintaan ke sumber yang digunakan Windows untuk memperbarui atau memeriksa pembaruan, sehingga sangat mirip dengan file host. Ini juga pada dasarnya menggunakan format yang sama dengan file host. Ini juga telah berhasil menonaktifkan instal ulang sampah yang terus ditempatkan windows di komputer saya yang memberikan layar berwarna raksasa yang mengatakan sesuatu seperti "Anda harus memperbarui atau komputer Anda akan meledak". Jelas saya tidak ingat apa kata peringatan itu karena sudah begitu lama sejak saya mendapatkannya (karena benar-benar berhasil memblokir 6 bulan yang lalu), tetapi itu adalah hal yang paling menjengkelkan yang pernah saya lihat.

Jackary Smith
sumber
hahahaha. Oh man. jawaban ini adil. Wow. pintar. sangat cerdas. saya tidak bisa menekankan betapa bagusnya jawaban ini. jutaan orang datang di pintu depan di mana ada ratusan pertahanan. tetapi solusi ini datang di sisi di mana tidak ada pertahanan dan membangun pertahanan tidak akan benar-benar mungkin karena desain internet.
Trevor Boyd Smith
jika Anda memiliki router / gateway / home-networking-box yang mewah dengan fitur DNS mewah ... maka Anda bisa melakukan hal serupa.
Trevor Boyd Smith
1

Nonaktifkan Layanan Pembaruan

  1. Win+R > services.msc
  2. Klik dua kali Pembaruan Windows dan ubah Jenis Startup menjadi Dinonaktifkan. Untuk mengaktifkan kembali, kembali ke layanan dan ubah ke otomatis.

Sumber: Cara Mengontrol Pembaruan Windows 10

Ooker
sumber
1

Untuk kasus saya, saya ingin tidak hanya mengontrol kapan Pembaruan Windows berjalan, tetapi juga membatasi semua aplikasi yang diinstal tidak terkendali pada pembaruan online mereka.

Jadi solusi satu atap sederhana saya adalah: 1. Memblokir akses internet untuk host di sisi router. Tidak ada program atau layanan yang diinstal pada host yang dapat mengakses internet. Pembaruan Windows Karena Penyebab diblokir juga.

  1. Instal Squid Proxy Server di jaringan lokal dan berikan proksi ke aplikasi yang Anda izinkan di internet. Jangan atur proxy di Control Panel | Opsi Internet, karena itu adalah proksi global OS lebar yang membatalkan langkah 1 sama sekali.

Sebagian besar aplikasi mendukung per pengaturan proxy berbasis aplikasi, seperti Chrome, Firefox, Semua jenis Game dll.

  1. Untuk aplikasi yang tidak mendukung pengaturan proxy lokal, gunakan NAS cloud fold sebagai Cloud Proxy. Misalnya, Office 365 suit tidak mendukung per proksi program. Anda kemudian bisa mengatur NAS Cloud Sync (misalnya, Synology NAS memiliki Cloud sync untuk menyinkronkan OneDrive) untuk menyinkronkan conent dalam lipatan NAS, kemudian Anda menggunakan lipatan itu sebagai lipatan lokal Office 365. Manfaat ekstra dari cara ini adalah Anda mendapatkan respons sangat cepat pada file besar, karena Anda menggunakan kecepatan jaringan lokal untuk mengakses OneDrive.

Dengan melakukan ini, akses internet komputer Anda sangat dikontrol sendiri, tidak ada yang dapat mengacaukan Anda.

Setiap kali Anda ingin memperbarui Windows, atur Control Panel | Opsi Internet untuk menggunakan proksi lokal Anda, karenanya Windows dapat memperbarui OS Anda. Setelah itu, matikan proksi global segera untuk mengatur komputer Anda menjadi damai, cukup dunia lagi.

Jack Wu
sumber
0

2 tahun kemudian dan milyaran karya yang belum disimpan hilang oleh mekanisme pembaruan Microsoft, akhirnya ada pembaruan besar yang menyelesaikan masalah.

Pembaruan Windows 10 Creators sekarang tersedia ( Unduh Langsung )

Setelah menginstal pembaruan, pengguna akhirnya akan bertanya lagi (seperti 20 + tahun yang tidak signifikan sebelumnya) jika ia ingin pembaruan diterapkan:

win10 pesan pembaruan lama yang baru

Terkadang saya bertanya-tanya siapa yang ada di balik keputusan itu ...

Setelah pembaruan, Anda memiliki lebih banyak opsi mengenai waktu pembaruan. Untuk menghentikannya, buka Pengaturan Pembaruan Windows> Opsi Lanjutan> Jeda Pembaruan> ON .

jeda pembaruan

Di bawah Restart Options Anda juga menemukan opsi baru untuk memperbarui notifikasi:

pembaruan notifikasi

Kai Noack
sumber
1
bagaimana ini menjawab pertanyaan?
magicandre1981
"cara untuk menghentikan pembaruan otomatis" - Ini adalah salah satu cara untuk menyingkirkan pembaruan otomatis yang dipaksakan. Dan untuk menghentikannya, buka Pengaturan Pembaruan Windows> Opsi Lanjutan> Jeda Pembaruan> ON. Saya telah menambahkan ini ke jawabannya. (Anda memiliki lebih banyak opsi setelah Pembaruan Windows.)
Kai Noack
0

Nonaktifkan semua pembaruan windows oleh PowerShell

(jalankan PowerShell sebagai Administrator)

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
sumber
-1

Sementara saya menonaktifkan pembaruan di Layanan dan Editor Kebijakan Grup, itu masih menyala dari waktu ke waktu. Maka saya harus secara manual mematikannya di Layanan. Melakukan ini melalui GUI merepotkan, jadi saya menulis skrip batch. Itu berhenti dan menonaktifkan Background Intelligent Transfer Servicedan Windows Update.

@echo off

net stop wuauserv
net stop BITS

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

pause

Saya juga menggunakan (tidak khusus untuk ini) alat monitor jaringan ringan (Bandwidth Monitor), jadi saya tahu kapan ada aktivitas (ikon di baki sistem). Jika saya melihat aktivitas ketika seharusnya tidak ada, saya tahu Pembaruan Windows dihidupkan kembali. Lalu saya menjalankan skrip dan tidak aktif.

akinuri
sumber