모든 자동 업데이트 중지 Windows 10


75

일부 컴퓨터를 Windows 10으로 업그레이드했으며 필요에 따라 업데이트 된 업데이트가 있음을 깨달았습니다. 그러나 Windows 7 및 8.1과 유사한 다운로드를 중지하는 데 사용할 수있는 옵션이 없다는 것을 깨달았습니다. 다운로드를 중지 할 수있는 유일한 방법은 Windows Update 서비스 를 중지하는 것 입니다.

내 질문은 자동 업데이트를 중지하는 방법을 알고 있거나 서비스를 중지하는 것이 유일한 해결책입니까?


4
Windows 10 Home이 있으면이 작업을 수행 할 수 없습니다. Windows 10 Professional을 사용하는 경우 최대 8 개월의 업데이트를 연기 할 수 있습니다. Windows 10 Enterprise를 사용하는 경우 사용하려는 LSTB를 표시하면 업데이트를 연기 할 수 있습니다. 다운로드 할 수있는 도구가있어 문제가 발생할 경우 개별 업데이트를 연기 할 수 있습니다. 이 질문은 이미 여러 번 요청되었습니다. .
Ramhound

또한 하루가 끝날 무렵에 향후 보안 업데이트를 받으려면 Windows 10 Professional을 실행중인 경우에도 시스템에 필요한 모든 업데이트가 있어야합니다. KB3073930 은 개별 업데이트를 숨기거나 연기하려는 경우 원하는 도구입니다.
Ramhound

@Ramhound 나는 보안 업데이트 등이 필요하다는 것을 이해하지만 때로는 업데이트를 일시 중지하고 나중에 시작하고 싶을 때가 있습니다. 우리는 프로 버전을 실행 중입니다. 귀하의 의견에서 언급 한 도구를 어디서 얻을 수 있는지 알고 싶습니까?
Izzy

2
중지하고 연기하는 것은 두 가지입니다.
Moab

2
여기에있는 모든 답변은 Windows Update의 업데이트에만 적용되지만 질문이 그 내용을 다루는 지 여부는 확실하지 않습니다. Windows 10에는 다른 두 가지 기본 제공 업데이트 방법이 있습니다. 장치 드라이버 업데이트는 별도로 제어되고 (시스템 및 rarr; 고급 시스템 설정 & rarr; 하드웨어 & rarr; 장치 설치 설정은이를 포함하는 것으로 보입니다) Store 앱의 자동 업데이트는 Store (이것은 또한 Candy Crush Soda Saga가 자동으로 설치되는 것을 막을 것이라고 생각합니다).
doshea

답변:


40

Pro Edition을 사용하는 경우 그룹 정책 편집기 (gpedit.msc)를 열고Configure automatic updates 다음 위치에 있는 항목을 검색하십시오 .

computer configuration → administrative templates → windows components → windows update

여기에 이미지 설명을 입력하십시오

를 선택하십시오 Notify for download and notify for install.

Windows가 새 업데이트를 감지하면 토스트 알림을 표시합니다 .

여기에 이미지 설명을 입력하십시오

KB3073930 업데이트 의 문제 해결사를 사용하여 문제 가있는 업데이트를 비활성화하여 다시 설치하지 않도록 할 수도 있습니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

이것은 원하지 않는 업데이트 및 드라이버 설치를 방지하기위한 Microsoft의 공식적인 방법입니다.

그러나 설치할 수있는 업데이트를 선택하고 이전 Windows 버전에서와 같이 업데이트를 차단할 수있는 Windows Update MiniTool 이라는 타사 도구 가 있습니다.

여기에 이미지 설명을 입력하십시오

표준 Windows Update에 대한 대안 수행 할 수있는 작업 :
• 업데이트 확인 • 업데이트
다운로드
• 업데이트 설치
• 설치된 업데이트 삭제
원하지 않는 업데이트 숨기기
• * .cab / * .Exe / * .Psf 업데이트 파일에 대한 직접 링크 가져 오기
• 업데이트 기록보기
자동 업데이트 구성
•이 도구는 외부 파워 쉘 모듈 PSWindowsUpdate와 유사하지만 훨씬 고급이며 사용자에게 친숙한 기능입니다.
• 도구는 동일한 WU 인프라를 사용하고 사용하며 모든 다운로드는 WU를 통하지 않습니다.

사용자 slavanap의견에 두 번째 도구 게시 하여 선택적으로 업데이트를 설치할 수 있습니다. Windows10 수동 업데이트 라고 하며 github에서 사용할 수 있습니다 .

여기에 이미지 설명을 입력하십시오.

에서 윈도우 (10) 제작자 업데이트, 옵션이 있습니다 삼십오일은 Windows 업데이트를 막을 수는 :

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

Windows 업데이트 옵션이있는 설정 앱에서


2
Home 에디션이 있으면 어떻게합니까?
대령 패닉

1
값 설정하려고 @ColonelPanic AUOptions 에서 HKEY_LOCAL_MACHINE \ 소프트웨어 \ 정책을 마이크로 소프트 \ WINDOWS \ WindowsUpdate를 \ AU는 \2 . 이 작동합니까?
magicandre1981

1
MiniTool이 오픈 소스라고 생각하지 않습니다. 방법 윈도우 10 업데이트 유지 보수를 수행하는 유사한 투수 Windows 버전이 오픈 소스에게 간단한 솔루션을 참조하십시오 github.com/slavanap/Windows10ManualUpdate
뱌체슬라프 Napadovsky

3
@ magicandre1981 사보타주? 이는 데드 엔드 및 데드 엔드 링크를 복구하는 데있어 "감사합니다"가 아닙니다.

2
-1 귀하의 잘못이 아니라 귀하의 답변이 최신이 아니기 때문입니다. Windows는 이제 모든 고전적인 해결 방법 후에도 Windows Update를 다시 켭니다.
Mehrdad

10

Windows 10에서 가장 논란의 여지가있는 측면 중 하나는 업데이트를 의무적으로 수행하려는 Microsoft의 결정입니다. Windows 10 Pro, Enterprise 또는 Education 버전이있는 경우 업데이트를 연기 할 수는 있지만 완전히 거부 할 수는 없습니다 .

사용자가 말하지 않고 시스템에 업데이트를 강제로 설치하는 것에 만족하지 않으면 W10Privacy를 사용 하여이 기능차단할 수 있습니다 .

소프트웨어를 통해 Windows 10의 많은 개인 정보 보호 기능을 제어 할 수 있기 때문에이 프로그램에 대해 들어 본 적이 없다면이 프로그램에 대해 들어 본 적이 없다면 OS 스누핑을 방지 할 수 있습니다. 옵션은 색상으로 구분되어있어 변경 / 비활성화가 안전한지 한눈에 확인할 수 있습니다.

W10Privacy 2 에서는 이제 Windows 10 자체 업데이트 메커니즘을 비활성화하고 자체 업데이트 메커니즘으로 대체하도록 프로그램을 설정할 수 있습니다. 사용자는 설치할 업데이트와 무시할 업데이트를 선택할 수 있습니다. 모든 사람이해야 할 일은 아니지만 필요한 단계를 쉽게 되돌릴 수 있습니다.

이 기능을 사용하려면 몇 가지 추가 구성 요소를 다운로드해야합니다. 이 단계를 따르세요:

  • W10Privacy 2를 다운로드 하여 하드 드라이브의 폴더에 압축 해제하십시오.
  • PsExec ( PsTools 패키지의 일부)을 다운로드 하여 W10Privacy 폴더에 복사하십시오.
  • Technet 에서 Windows Update PowerShell 모듈 을 다운로드하여 W10Privacy 폴더의 하위 폴더에 압축을 풉니 다.
  • 마우스 오른쪽 버튼을 클릭 W10Privacy.exe하고 상황에 맞는 메뉴에서 관리자 권한으로 실행을 선택하십시오. 시스템 복원 지점을 만들도록 선택하십시오. 경우에 따라서는 전체 시스템 백업을 수행 할 가치가 있습니다.
  • 옵션> Windows 업데이트로 이동하여 옵션을 관리하십시오. 6 개의 다른 확인란이 있습니다. 기본적으로 활성화되어 있지 않습니다. 그들은:
  • PSWindows 업데이트 모듈 이 있습니다 (이전에 사용자가 W10Privacy 폴더에 제공해야 함).
  • W10Privacy 폴더의 PsExec.exe (사용자가 제공해야 함) PSWindows-Update Module의 개인 정보 보호
  • 가짜 WSUS 서버를 구성하십시오.

  • W10Privacy는 공백이없는 경로 / 폴더에 있습니다. 업데이트 검색에서 드라이버를 고려하지 마십시오.

  • 업데이트를 수동으로 관리하려는 경우 처음 다섯 가지 옵션을 확인하십시오. 여섯 번째 옵션을 사용하면 업데이트와 함께 드라이버를 나열할지 여부를 결정할 수 있습니다. 이것은 당신에게 달려 있습니다.
  • 변경된 설정 설정을 클릭 한 다음 업데이트 확인 시작 버튼을 클릭하면 아직 설치되지 않은 새 업데이트가 표시되며 수행 할 작업을 선택할 수 있습니다.

스크린 샷

업데이트를 담당 한 후에는 소프트웨어를 정기적으로 실행하고 중요한 업데이트가 있는지 확인하십시오.

여기에 이미지 설명을 입력하십시오

크레딧 :

  1. Windows 10의 자동 업데이트를 완전히 제어하는 ​​방법

1
Windows가 전혀 업데이트를 보지 못하도록 방지하는 최상의 솔루션입니다.
Marcus

오 안돼. 왜 하나의 명령이 없습니다. 누군가 나에게이 창문이 걸어 다닐 수있는 높은 문을 준다.
Mustkeem K

6

@Ramhound의 도움으로 Windows 10에서 자동 업데이트를 중지하는 방법을 알아 냈습니다.

이것은 내가 실행중인 버전이므로 Windows 10 Pro에 적용됩니다 .

자동 업데이트를 중지하려면 다음을 수행하십시오.

  1. 설정 열기
  2. 업데이트 및 보안을 클릭하십시오
  3. 클릭 Advanced options 여기에 이미지 설명을 입력하십시오
  4. Defer upgrades옵션이 선택되어 있는지 확인하십시오여기에 이미지 설명을 입력하십시오
  5. 설정 창을 닫으면 완료됩니다!

최신 정보

@Vinayak의 의견에서 언급했듯이 이제 연기 옵션은 가정 사용자도 사용할 수 있습니다. 자세한 정보는 여기


당신이 찾고있는 동안, 당신은 단지 서비스에서 비활성화 할 수있는 Windows 업데이트 서비스가 있는지 알 수 있습니다. Wuauserv 또는 wuaueng.dll 또는 무엇입니까? 다른 방법을 사용하는 사람들을 위해?
Psycogeek

1
@Psycogeek Wuauserv서비스가 있으며 중지 / 비활성화 될 수 있습니다. 이것이 원래 업데이트를 중단 한 방법입니다
Izzy

5
Windows 10 업데이트가 중지되면 :-) 및 일부 에디션에서 버튼이 존재하지 않는 방식으로 웹의 많은 부분이 마치 세상이 돌아 가지 않는 것처럼 들립니다. 나는 당신이 그것에 아무런 문제가 없다고 가정하고 있습니까? 꿈의 경찰은 악몽을 침범하지 않았고, OS는 공을 쓰러 뜨리지 않았으며, 그 과정에서 애완 동물이 다 치지 않았습니다. 질문.
Psycogeek

5
Windows 10 Home 사용자는 Microsoft에서 시작하여 지금 업그레이드 연기 를 사용할 수 있습니다 .
Vinayak

1
지연 은 1511 (2015 년 11 월 업데이트) 또는 1607 (2016 년 7 월 기념일 업데이트)과 같은 최신 버전으로의 업그레이드를 중지하고 이전 버전에 대한 자동 업데이트를 계속받습니다.
magicandre1981

4

windows_update_toggle
이전 배치 파일의 대규모 재 작업은 스위트 를 단일 스크립트로 전환 하여 모범 사례를 차단합니다!
행동을 지켜보세요

모든 것을 토글하는 데스크탑 마우스 오른쪽 클릭 컨텍스트 메뉴 동적 UI!
모든 블록 켜기 / 끄기 전환, 페이스트 빈에서 갱신 또는 스크립트 옵션 제거

카운터로 업데이트 목록 숨기기 / 숨기기 해제 / 설치!
Windows가 MusNotification을 통해 탐색 할 때마다 목록이 자동으로 업데이트됩니다!

소유권 변경, 파일 삭제 또는 작업 제거없이 빌드 업그레이드, 자동 설치, 다운로드, 서비스
IFEO 안전 차단을 독립적으로 차단

독립적으로 작동 수비수 업데이트에 포커스를 설정 한
자동 업데이트 내장 희생 한 보호 층, 창을 토글하지 않습니다 신체 상해
다른 -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 final에 마지막으로 업데이트되었습니다. 위의 pastebin 링크의 최신 코드.


Windows 메뉴에 검정색 배경이 표시되는 방법을 알려주시겠습니까?!
wayofthefuture

1
고 대비 기반 테마입니다. pastebin.com/fA3t5Sd2
AveYo

4

Windows 10 개인 사용자

Windows Central 에서 다음 방법을 시도하십시오 . 기본적으로 업데이트 서비스가 아닌 재부팅 서비스를 비활성화합니다. 그런 다음 원할 때마다 재부팅 할 수 있습니다. 관리자 권한이 필요하지만 Windows Home 버전을 사용하고 있으므로 이미 권한이 있다고 가정합니다.

  1. Windows 탐색기 창에서 파일 이름을 C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\Reboot( %windir%is 라고 가정 C:\)을 Reboot.old로 바꿉니다. 여기에서 관리자 액세스 권한이 요청됩니다.
  2. 라는 디렉토리 생성 Reboot에를 C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator\. 이렇게하면 창에서 같은 이름의 파일을 다시 만들 수 없습니다. 여기에서 관리자 액세스 권한이 요청됩니다.
  3. 머신을 재부팅하십시오. 이렇게하면 모든 서비스가 재설정되고 재부팅 서비스가 시작되지 않습니다.

이것은 Microsoft에서 홍보하지 않습니다. 그러나 다시 말하지만, 어느 것도 자신의 부팅 일정을 제어하지 않으므로 MS를 선택하십시오! 진지하게, 당신이 무엇을하고 있는지 모른다면 인터넷의 지시에 따라 당신이 겪고있는 위험을 이해하십시오. 이것은 Windows 95를 이해하면 여기서 일어나는 일을 설명하는 데 도움이 될 정도로 간단합니다.


3

Windows Update의 상태-2019 년 시작

Microsoft는 Windows Update를 불가피하게 만들기 위해 많은 노력을 기울여 왔기 때문에 전통적인 방법이 더 이상 작동하지 않거나 제한된 시간 동안 만 작동합니다.

Microsoft는 Windows를 업데이트 할 목적으로 비활성화 할 수없는 시스템 서비스를 추가했습니다. 이 중 가장 중요한 것은 업데이트 다운로드, 설치 및 확인을 담당 하는 Update Orchestrator 서비스 입니다. 중지되면 컴퓨터가 더 이상 업데이트를 다운로드하여 설치할 수 없으므로 현재 세션에 대해서만 비활성화되어 다음에 다시 부팅 할 때 다시 활성화됩니다.

Windows Update를 중지 할 수 없도록하는 서비스는 Windows Update가 계속 작동하도록하는 새로운 Windows Update Medic 서비스 입니다. 이 서비스는 Windows Update를 차단하는 기존의 모든 방법을 취소하여 주기적으로 예기치 않게 Windows Update 설정이 원래 값으로 재설정되었으며 Windows가 사용자에게 업데이트를 강제 적용한 것으로 나타났습니다.

Windows Update Medic 서비스 자체는 전혀 비활성화 할 수 없습니다. 이렇게하면 "액세스가 거부되었습니다"라는 메시지가 표시됩니다.

그럼에도 불구하고 Windows Update를 완전히 차단할 수있는 타사 제품이 있습니다 : Windows Update Blocker . 이 무료 제품은 휴대 가능하며 한 번의 클릭으로 Windows Update를 비활성화 / 활성화 할 수 있습니다. 실제로 차단할 수없는 다른 Windows 서비스도 차단할 수 있습니다. 2018 년에도 여전히 작동하는 것으로보고되었습니다.

타사 제품을 사용하는 것은 장기적으로 예고없이 변경 될 수있는 Windows 반 문서화 된 기능에 의존하는 것보다 더 확실 할 수 있습니다. 이 답변 에서 더 많은 무료 제품을 찾을 수 있습니다. 제품은 모든 프로그램이 임박한 종료를 거부 할 수있는 Windows API를 사용합니다.


2

마침내 작동 하는 영구 수정 프로그램을 찾았습니다.

이 책의 말 그대로 모든 트릭을 시도한 후 , 나는 항상 Windows Update를 사용했습니다. 나는 여기에 모든 솔루션과 수많은 다른 소스를 시도했으며 Windows는 끊임없이 내 계획을 방해하는 방법을 찾았습니다.

약 6 개월 전까지 ...

서비스 또는 다른 항목이 실행 중인지 여부에 관계없이 모든 Windows 업데이트를 영구적으로 비활성화하는 영구적 인 해결책을 찾았습니다. 나는 많은 다른 것들과 관련된 많은 다른 출처의 도움 으로이 방법을 알아 냈습니다. 전반적으로, 나는이 방법이 모두 관련이없는 것을 수행하는 데 사용되는 다른 정보와 비트를 사용하여 직접 발견했지만 작동합니다. 그리고 그것은 절대적으로 아름답게 작동합니다 .

  1. 여기 에서 아크릴 DNS 프록시 설치

기본적으로 와일드 카드와 같은 기능을 추가 할 수있는 Windows 호스트 파일의 수프 버전입니다.이 경우 많은 소스 윈도우가 업데이트를 가져 오기 때문에 필요합니다.

  1. 여기 지침에 따라 아크릴이 Win 10에서 작업을 시작하게 하십시오 . 아주 간단한 것들.

  2. 시작 메뉴로 가서 여기 에 표시된 모든 프로그램에서 " 아크릴 호스트 파일 편집 "을 클릭 하십시오.

  3. # 행이 앞에없는 호스트 파일의 맨 아래에이 행을 추가하십시오.

0.0.0.0 windowsupdate.microsoft.com
0.0.0.0 * .windowsupdate.microsoft.com
0.0.0.0 * .update.microsoft.com
0.0.0.0 windowsupdate.com
0.0.0.0 * .windowsupdate.com
0.0.0.0 download.windowsupdate.com
0.0.0.0 download.microsoft.com
0.0.0.0 * .download.windowsupdate.com
0.0.0.0 wustat.windows.com
0.0.0.0 ntservicepack.microsoft.com
0.0.0.0 stats.microsoft.com

이제 파일 하단이 다음과 같아야 합니다 . 파일을 저장하고 닫습니다.

  1. 작업 관리자를 열고 서비스 탭으로 이동 한 다음 하단의 "서비스 열기"를 클릭하고 아크릴 DNS 프록시를 선택한 다음 빨간색 원이있는 이 버튼 을 클릭 하여 서비스를 다시 시작하십시오.

끝마친

그들은 당신이 업데이트를 설치하기 위해 기존 가난한 강요 할 수 있는지 확인하기 위해 이제 아크릴 친구는 허리가 있어야 지속적으로 마이크로 소프트의 빅 브라더 전술에 날카로운 눈을 유지 엉망 완전히 PC 가 시간의 적어도 네 번째가 그들이 내 가정용 PC와 Windows 용 PC BUILT로 간주되는 Surface Pro 모두 에서 맞습니까 ??? Cmon, Microsoft!

  1. 위의 코드에서 웹 사이트 중 하나를 핑하여 작동하는지 확인하십시오. cmd를 열고 다음을 입력하십시오.

ping windowsupdate.microsoft.com

경우 이러한 결과는, 당신은 지금부터 황금 될 것입니다!

참고 : 내 경험상 PC 속도가 느려지지 않았습니다. 또한 호스트 파일과 매우 유사한 업데이트를 업데이트하거나 확인하기 위해 Windows에서 사용하는 소스에 대한 요청 외에 인터넷 트래픽을 다시 라우팅하지 않습니다. 또한 기본적으로 hosts 파일과 동일한 형식을 사용합니다. 이것은 또한 윈도우가 내 컴퓨터에 계속 배치하는 정크 재설치를 성공적으로 비활성화 시켰으며, 이는 "업데이트해야하거나 컴퓨터가 멈출 것"과 같은 거대한 컬러 화면을 제공합니다. 분명히 나는 ​​6 개월 정도 전에 완전히 성공적으로 차단했기 때문에 경고를받은 지 오래 된 이래로 경고의 내용을 기억하지 못하지만 내가 본 것 중 가장 성가신 것입니다.


하하하. 오 이런 이 대답은 단지입니다. 와. 똑똑한. 아주 똑똑. 이 답변이 얼마나 좋은지 강조 할 수 없습니다. 수백 명의 사람들이 수백 명이 넘는 정문에 수백만 명이옵니다. 그러나이 솔루션은 방어가없는 측면에서 이루어지며 인터넷 디자인으로 인해 방어 방어가 실제로 불가능합니다.
Trevor Boyd Smith

멋진 DNS 기능을 갖춘 멋진 라우터 / 게이트웨이 / 홈 네트워킹 박스가 있다면 IMO가 비슷한 것을 할 수 있습니다.
Trevor Boyd Smith


1

필자의 경우 Windows 업데이트가 진행되는 시점을 제어 할뿐만 아니라 설치된 모든 응용 프로그램을 온라인 업데이트에서 제어 할 수 없도록 제한하고 싶습니다.

따라서 간단한 원 스톱 솔루션은 다음과 같습니다. 1. 라우터 쪽에서 호스트의 인터넷 액세스를 차단합니다. 호스트에 설치된 프로그램이나 서비스는 인터넷에 액세스 할 수 없습니다. 원인이있는 Windows 업데이트도 차단됩니다.

  1. 로컬 네트워크에 Squid Proxy Server를 설치하고 인터넷을 사용할 수있는 응용 프로그램에 프록시를 제공하십시오. 제어판에서 프록시를 설정하지 마십시오 | 인터넷 옵션, 1 단계를 전혀 무효화하는 글로벌 OS 전체 프록시입니다.

대부분의 응용 프로그램은 Chrome, Firefox, 모든 종류의 게임 등과 같은 응용 프로그램 기반 프록시 설정을 지원합니다.

  1. 로컬 프록시 설정을 지원하지 않는 애플리케이션의 경우 NAS 클라우드 폴더를 클라우드 프록시로 사용하십시오. 예를 들어 Office 365 슈트는 프로그램 별 프록시를 지원하지 않습니다. 그런 다음 NAS 폴더 동기화를 설정하여 (예 : Synology NAS의 클라우드 동기화를 통해 OneDrive 동기화) NAS 폴더의 콘텐츠를 동기화 한 다음 해당 폴더를 Office 365의 로컬 폴더로 사용할 수 있습니다. 이 방법의 또 다른 이점은 큰 파일에 대한 응답 속도가 빠르고 로컬 네트워크 속도를 사용하여 OneDrive에 액세스 할 수 있다는 것입니다.

이렇게하면 컴퓨터의 인터넷 액세스가 자신에 의해 크게 제어되므로 아무도 엉망이 될 수 없습니다.

Windows를 업데이트 할 때마다 제어판 | 로컬 프록시를 사용하는 인터넷 옵션이므로 Windows에서 OS를 업데이트 할 수 있습니다. 그 후, 글로벌 프록시를 즉시 끄고 컴퓨터를 다시 한 번 평화롭게 만드십시오.


0

2 년 후, Microsoft의 업데이트 메커니즘으로 인해 수십억 건의 저장되지 않은 작업이 사라지고 마침내 문제를 해결하는 주요 업데이트가 있습니다.

Windows 10 크리에이터 스 업데이트 사용 가능 ( 직접 다운로드 )

업데이트를 설치 한 후 사용자는 업데이트 적용 여부를 최종적으로 다시 묻습니다 (20 년 이상 전과 같이).

win10 새로운 오래된 업데이트 메시지

때때로 나는 그 결정 뒤에 누가 있는지 궁금합니다 ...

업데이트 후 업데이트 시간에 대한 추가 옵션이 있습니다. 중지하려면 Windows Update 설정> 고급 옵션> 업데이트 일시 중지> 켜기로 이동하십시오 .

업데이트 일시 중지

다시 시작 옵션에는 업데이트 알림에 대한 새로운 옵션도 있습니다.

알림 업데이트


1
이 질문에 어떻게 대답합니까?
magicandre1981

"자동 업데이트를 중지하는 방법"-강제 자동 업데이트를 제거하는 한 가지 방법입니다. 중지하려면 Windows Update 설정> 고급 옵션> 업데이트 일시 중지> 켜기로 이동하십시오. 나는 이것을 대답에 추가했다. (Windows Update 이후 더 많은 옵션이 있습니다.)
Kai Noack

0

PowerShell을 통한 모든 Windows 업데이트 비활성화

(관리자 권한으로 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"

0

서비스 및 그룹 정책 편집기에서 업데이트를 비활성화했지만 때때로 계속 켜져 있습니다. 그런 다음 서비스에서 수동으로 해제해야합니다. GUI를 통해이 작업을 수행하는 것은 번거롭기 때문에 배치 스크립트를 작성했습니다. 그것은 중지 및 비활성화 Background Intelligent Transfer Service하고 Windows Update.

@echo off

net stop wuauserv
net stop BITS

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

pause

또한 가벼운 네트워크 모니터 도구 (대역폭 모니터)를 사용하고 있습니다 (시스템 트레이의 아이콘). 아무 것도 없어야 할 때 활동이 표시되면 Windows Update가 다시 켜진 것입니다. 그런 다음 스크립트를 실행하면 꺼집니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.