답변:
대답
이것에 영향을 줄 수있는 많은 것들이 있습니다. 이 사이트에는 문제에 접근하는 다양한 방법을 자세히 설명하는 게시물이 있습니다. 이 게시물은 그것들을 통합하고 누군가 자신의 영향을 받아 문제에 대한 내 자신의 통찰력을 추가하는 것을 목표로합니다.
2 단계에서 설명한 수정 프로그램을 사용하여 Windows Update를 설치 한 후 Windows 10이 시스템을 재부팅하지 못하게 할 수도 있습니다.
이 수정은 Fall Update (1709)에도 적용됩니다. 업데이트 프로세스가이를 대체하기 때문에 '재부팅'작업을 다시 비활성화하고 보안 권한을 다시 구성해야합니다.
1 단계 : 모든 전원 프로파일에 대한 웨이크 타이머 비활성화
게으른 기술 블로거는 이것이 검색의 끝이라고 믿게 할 것입니다. 이 단계를 수행하면 몇 가지 잘못된 종료가 제거되는 것이 사실이지만, 특히 Windows 10에는 사용자 개입에 관계없이이 설정을 준수하지 않는 여러 설정 및 구성이 있습니다. 제어판> 전원 옵션으로 이동하십시오. 여기에서 목록에있는 전원 프로필을 먼저 선택하고 '웨이크 타이머'를 비활성화하십시오. 모든 프로파일을 통해 작업하십시오.
( 이미지에 대해 StackExchange 사용자 olee22 에게 감사합니다 )
Windows 10에서는 선택한 전원 프로파일 뿐만 아니라 모든 전원 프로파일에 대해이 설정 을 수정하는 것이 좋습니다 . 다양한 Windows 기능은 다른 프로파일을 사용합니다. 이렇게하면 깨어나지 않을 가능성이 높아집니다.
2 단계 : 불법 "재부팅"예약 된 작업 비활성화
참고 : Windows 10 시스템 재부팅을 중지하는 데 사용할 수있는 PowerShell 스크립트를 만들었습니다. https://github.com/seagull/disable-automaticrestarts에서 찾을 수 있습니다.
Windows 10의 UpdateOrchestrator 예약 된 작업 폴더에는 "재부팅"이라는 작업이 포함되어 있습니다. 이 작업은 사용 가능한지 여부에 관계없이 컴퓨터를 깨워 업데이트를 설치합니다. 컴퓨터를 깨우는 권한을 제거하는 것만으로는 충분하지 않습니다. Windows는 작업 스케줄러를 떠난 후 다시 권한을 부여하도록 편집합니다.
제어판에서 관리 도구를 입력 한 다음 작업 스케줄러를보십시오.
작업 스케줄러 라이브러리> Microsoft> Windows> UpdateOrchestrator에서 원하는 작업입니다. 가장 중요한 것은 다음과 같습니다.
여기에서 Windows가 작업을 희롱하지 못하도록 작업에 대한 권한을 변경해야합니다. 작업은 C : \ Windows \ System32 \ Tasks \ Microsoft \ Windows \ UpdateOrchestrator에 있습니다. 파일 확장자가없는 "재부팅"이라고합니다. 마우스 오른쪽 버튼으로 클릭하고 속성을 입력 하고 자신을 소유자로 만드십시오 . 마지막으로 다음이 표시되도록 구성하십시오.
여기서 파일은 SYSTEM에 대한 읽기 전용 권한으로 표시됩니다. 자신의 계정이 아닌 쓰기 권한이있는 계정이 없도록하십시오 (필요한 경우 언제든지 권한을 변경할 수 있음). 루트 화면의 기존 권한을 무시하려면이 화면의 "고급"버튼에서 파일에 대한 상속 된 권한을 비활성화하십시오. 이렇게하면 변경 사항을 구현 한 후에 Windows가 변경 내용을 엉망으로 만드는 것이 100 % 중지됩니다.
이것이 설정되면 더 이상 예약 된 작업에 대해 걱정할 필요가 없습니다.
Windows 1709 참고 (Fall Creators 'Update)
Windows 설치 프로세스는 파일에 대한 권한을 변경하므로 업그레이드 후이 안내서를 다시 확인하십시오. 동일한 단계를 적용해야하는 "AC 전원 설치"라는 새 작업이 수행되었다는보고를 들었지만 16299.192 (2018-01 Meltdown 패치) 업데이트를 설치 한 후 내 장치에서이 작업이 생성되는 것을 보지 못했습니다. 나는 절대 확실하게 조언 할 수 없다. 위에서 수행 한 것과 동일한 단계가 소개 된 모든 작업에서 작동합니다.
3 단계 : PowerShell에서 웨이크 타이머 확인
깨우기 타이머 기능을 비활성화했지만 Windows 10은 해당 설정을 존중하지 않는 습관이 있으므로 안전하기 위해 PC를 깨우는 모든 작업을 제거하기 위해 PowerShell 명령을 실행합니다. 관리 PowerShell 명령 프롬프트 (시작, 'Powershell', Ctrl + Shift + Enter)를 열고이 명령을 창에 배치하십시오.
Get-ScheduledTask | where {$_.settings.waketorun}
나열된 모든 작업을 수행하고 컴퓨터를 깨울 수있는 권한을 제거하십시오. 재부팅과 마찬가지로 권한에 대해 걱정할 필요가 없습니다. 그것은 외적인 사건이었습니다.
4 단계 : PC를 깨울 수있는 하드웨어 확인
많은 USB 하드웨어가 사용되면 PC를 깨울 수 있습니다 (키보드를 누르면 키보드가 자주 작동 함). 이 시나리오에서는 일반적으로 Wake-on-LAN도 문제입니다. 처음에는 현대 하드웨어의 일반적이고 유용한 기능을 'Wake on LAN'이라고합니다. 유선 이더넷 케이블 (Wi-Fi에서는 작동하지 않음)을 통해 장치가 로컬 네트워크에 연결되어 있으면 수신시 PC를 깨울 수있는 통신을 보낼 수 있습니다. 그것은 내가 자주 사용하는 기능이지만 기본 동작이 너무 열렬하기 때문에 줄을 바꿔야합니다.
관리 명령 프롬프트에 다음 명령을 입력하십시오.
powercfg -devicequery wake_armed
여기에서 장치 관리자 (제어판)의 장치를 찾은 다음 "전원 관리"탭에서 컴퓨터를 깨우는 기능을 제거하십시오. Wake-on-LAN을 유지하려는 네트워크 인터페이스 카드가있는 경우 전송되는 모든 트래픽을 깨우지 않고 "매직 패킷을 수신 한 경우에만이 장치를 깨우십시오"를 활성화하십시오.
5 단계 : 그룹 정책을 확인하여 완전히 확인
시작 메뉴를 마우스 오른쪽 버튼으로 클릭하고 '실행'을 선택하십시오. GPEdit.MSC를 입력하십시오. 컴퓨터 구성> 관리 템플릿> Windows 구성 요소> Windows 업데이트> Windows Update 전원 관리 활성화에서 다음 설정을 찾아 시스템을 자동으로 깨워 예약 된 업데이트를 설치하십시오. 두 번 클릭하고 사용 안 함으로 설정하십시오.
6 단계 : 자동 유지 관리를 위해 시스템 깨우기 비활성화
Microsoft의 누군가는 이것에 대해 유머 감각을 가지고 있습니다. 밤에 PC로 깨어 난 경우 밤에 조각 모음을 수행하는 하드 드라이브 크 런칭 및 그라인딩이 무엇보다 중요합니다. 제어판의 "보안 및 유지 관리"섹션을 찾아이 기능을 비활성화하십시오. 여기에서 "유지 보수"를 펼치고 "유지 보수 설정 변경"링크를 찾으십시오.
시간을보다 사교적 인 것으로 설정하고 (7PM은 괜찮음) 시스템이 작업을 위해 깨어날 수있는 기능을 비활성화하십시오.
이제이 스크립트를 사용하여 깨우기 타이머가 Windows 10 데스크톱을 깨우지 못하게 결정합니다 .
# disable wake for enabled scheduled tasks that are allowed to wake
Get-ScheduledTask |
?{ $_.Settings.WakeToRun -eq $true -and $_.State -ne 'Disabled' } |
%{
write-host $_
$_.Settings.WakeToRun = $false;
Set-ScheduledTask $_
}
# disable wake for devices that are allowed to wake (list of wake capable devices: powercfg -devicequery wake_from_any)
powercfg -devicequery wake_armed |
%{
write-host $_
if ($_ -notmatch '^(NONE)?$')
{ powercfg -devicedisablewake $_ }
}
# disable wake timers for all power schemes
powercfg -list | Select-String 'GUID' |
%{
write-host $_
$guid = $_ -replace '^.*:\s+(\S+?)\s+.*$', '$1'
powercfg -setdcvalueindex $guid SUB_SLEEP RTCWAKE 0
powercfg -setacvalueindex $guid SUB_SLEEP RTCWAKE 0
}
# disable wake for automatic updates and for automatic maintenance
'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\AUPowerManagement',
'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance\WakeUp' |
%{
write-host $_
$key = split-path $_
$name = split-path $_ -leaf
$type = 'DWORD'
$value = 0
if (!(Test-Path $key))
{ New-Item -Path $key -Force | Out-Null }
if ((Get-ItemProperty $key $name 2>$null).$name -ne $value)
{ Set-ItemProperty $key $name $value -type $type }
}
보시다시피 예약 된 작업 파일 권한을 제외 하고이 답변에 언급 된 모든 단계 를 처리합니다. 그러나 모든 잠금 / 로그온마다이 스크립트 를 자동으로 실행 하려고하므로 이것이 전혀 문제가되지 않기를 바랍니다.
Get-ScheduledTask
는 등의 작업을 발견하면 스크립트의 일부가 실패합니다. 어떻게 해결할 수 있습니까?
Set-ScheduledTask
는 ScheduledTask
객체를 매개 변수로 사용 한다고 생각하지 않습니다 . 실제로 작업을 수정하는 데 효과가 있었습니까? 다음은 다른 사람이보고 한 내용입니다. social.technet.microsoft.com/Forums/en-US/…
나는 다른 대답이 엄청나게 도움이되었고, 가능하다면 의견을 말하고 싶지만 여기에있는 3 단계와 4 단계를 돕기 위해 신속하게 쓴 소프트웨어를 제공하고 싶었습니다.
https://github.com/Omniru/System-Wake-Manager/wiki/Home-&-Download
잘하면 그것은 일부 사람들에게 유용합니다.
이 팝업이 표시되고 "추가 정보"를 클릭 한 다음 "어쨌든 실행"을 클릭해야 할 수도 있습니다 (확실하지 않은 경우 소스 코드를 확인하면 github에 있음).
Reboot
NTFS 수준에서 작업 정의 파일의 소유권을 가져와 교활한 음흉한SYSTEM
사용자 (ab) 사용자를 읽기 및 실행 권한으로 줄이려 는 강력한 무자비한 결의에 감사했습니다 . 마이크로 소프트가 해로운 악의적 인 손 잡기 기계를 추가로 출시하기로 결정했을 때이를 염두에 두지 않는 적절한 방법. 보스의 위대한 노래에서와 같이 오늘 아침 나는 메모장과 IE 탭에 저장되지 않은 데이터 구름이 있던 빈 하늘로 깨어났습니다. Update & Reboot의 제단에서 사용자 데이터를 희생하는 OS는 분명히 임무에 실패합니다.