สรุปหยุดตัวจับเวลาปลุกจากการปลุกเดสก์ท็อป Windows 10


231

คุณจะหยุดการทำงานของเดสก์ท็อป Windows 10 ที่ตื่นขึ้นมาจากสถานะพลังงาน sleep / hibernated ได้อย่างไรโดยที่ผู้ใช้ไม่ต้องดำเนินการใด ๆ

สำหรับผู้ใช้จำนวนมากสิ่งนี้จะไม่เป็นปัญหา แต่ถ้าคุณนอนในห้องเดียวกับพีซีของคุณการทำให้เครื่องของคุณตื่นขึ้นมาตอน 3:30 น. เพื่อดาวน์โหลดการอัปเดต

คำตอบ:


363

ตอบ

มีหลายสิ่งที่อาจส่งผลกระทบต่อสิ่งนี้ ฉันทราบว่ามีโพสต์ทั่วไซต์นี้ซึ่งให้รายละเอียดวิธีการที่แตกต่างหลากหลายในการแก้ไขปัญหา โพสต์นี้มีวัตถุประสงค์เพื่อรวมพวกเขาและเพิ่มความเข้าใจของฉันเองลงในปัญหาขณะที่บางคนได้รับผลกระทบด้วยตนเอง

การแก้ไขที่สรุปไว้ในขั้นตอนที่ 2 ยังสามารถใช้เพื่อหยุด Windows 10 จากการรีบูตเครื่องหลังจากติดตั้ง Windows Updates

การแก้ไขนี้ใช้ได้กับ Fall Update (1709) เช่นกัน คุณจะต้องปิดการใช้งาน 'Reboot' อีกครั้งและกำหนดค่าสิทธิ์ความปลอดภัยอีกครั้งเนื่องจากกระบวนการอัปเดตจะแทนที่

ขั้นตอนที่ 1: ปิดการใช้งานตัวจับเวลาปลุกสำหรับโปรไฟล์พลังงานทั้งหมด

Lazy tech-bloggers จะช่วยให้คุณเชื่อว่านี่เป็นจุดสิ้นสุดของการค้นหาของคุณ แม้ว่าจะเป็นความจริงที่ว่าขั้นตอนนี้จะกำจัดการปิดที่ผิดพลาดไปเล็กน้อย แต่มีการตั้งค่าและการกำหนดค่าจำนวนมากโดยเฉพาะอย่างยิ่งใน Windows 10 ที่ไม่เคารพการตั้งค่านี้โดยไม่คำนึงถึงการแทรกแซงของผู้ใช้ ไปที่แผงควบคุม> ตัวเลือกพลังงาน จากที่นี่เลือกโปรไฟล์พลังงานใดก็ตามที่อยู่ในรายการก่อนและปิดการใช้งาน 'ตัวจับเวลาปลุก' ทำงานผ่านโปรไฟล์ทั้งหมด

การตั้งค่าพลังงาน

(ขอบคุณผู้ใช้StackExchange olee22สำหรับรูปภาพ)

บน Windows 10 ขอแนะนำให้คุณแก้ไขการตั้งค่านี้สำหรับโปรไฟล์พลังงานทั้งหมดไม่ใช่เฉพาะที่คุณเลือกใช้ Windows หลายคณะจะใช้โปรไฟล์ที่แตกต่างกัน สิ่งนี้จะช่วยเพิ่มโอกาสในการไม่ถูกปลุกให้ตื่น

ขั้นตอนที่ 2: ปิดใช้งานการจัดตาราง "รีบูต" ที่ไม่เชื่อฟัง

หมายเหตุ:ฉันได้สร้างสคริปต์ PowerShell ที่สามารถใช้เพื่อหยุดระบบ Windows 10 ของคุณจากการรีบูตเครื่อง คุณสามารถค้นหาได้ที่นี่: https://github.com/seagull/disable-automaticrestarts

โฟลเดอร์งานตามกำหนดเวลา UpdateOrchestrator ของ Windows 10 มีงานที่เรียกว่า "reboot" งานนี้จะปลุกให้คอมพิวเตอร์ของคุณติดตั้งการอัปเดตไม่ว่าจะมีให้ใช้งานหรือไม่ก็ตาม เพียงแค่ลบการอนุญาตให้ปลุกคอมพิวเตอร์ไม่เพียงพอ Windows จะแก้ไขเพื่อให้สิทธิ์ตัวเองอีกครั้งหลังจากที่คุณออกจาก Task Scheduler

จากแผงควบคุมให้ป้อนเครื่องมือการดูแลระบบจากนั้นดู Task Scheduler ของคุณ เข้าสู่ Task Scheduler

Task Scheduler

นี่คืองานที่คุณต้องการ - ภายใต้ Task Scheduler Library> Microsoft> Windows> UpdateOrchestrator สิ่งที่สำคัญที่สุดที่คุณต้องการคือ:

ลบการอนุญาตสำหรับภารกิจในการปลุกพีซี ปิดใช้งาน

จากที่นี่คุณจะต้องแก้ไขการอนุญาตสำหรับงานเพื่อให้ Windows ไม่สามารถทำร้ายได้ งานที่ตั้งอยู่ในC: \ Windows \ System32 \ งาน \ Microsoft \ Windows \ UpdateOrchestrator เรียกว่า "Reboot" โดยไม่มีนามสกุลไฟล์ คลิกขวาที่ใส่คุณสมบัติและทำให้ตัวเองเป็นเจ้าของ สุดท้ายกำหนดค่าเพื่อให้แสดงต่อไปนี้:

รีบูตไฟล์ที่มีสิทธิ์อ่านเท่านั้น

ที่นี่ไฟล์จะแสดงพร้อมสิทธิ์อ่านอย่างเดียวสำหรับ SYSTEM ทำให้บัญชีไม่มีสิทธิ์ในการเขียนไม่ใช่แม้แต่ของคุณเอง (คุณสามารถเปลี่ยนการอนุญาตได้ในภายหลังหากคุณต้องการ) โปรดตรวจสอบให้แน่ใจว่าคุณปิดใช้งานการอนุญาตที่สืบทอดมาสำหรับไฟล์จากปุ่ม "ขั้นสูง" บนหน้าจอนี้เพื่อลบล้างการอนุญาตที่มีอยู่ในโฟลเดอร์รูท สิ่งนี้จะทำให้ Windows หยุดทำงาน 100% ไม่ให้ยุ่งกับการเปลี่ยนแปลงของคุณหลังจากที่คุณติดตั้งแล้ว

เมื่อตั้งค่านี้แล้วคุณไม่ต้องกังวลเกี่ยวกับงานที่กำหนดเวลาไว้อีกต่อไป

หมายเหตุสำหรับ Windows 1709 (อัพเดตผู้สร้างที่ล่ม)

กระบวนการติดตั้ง Windows จะเปลี่ยนการอนุญาตสำหรับไฟล์ต่างๆดังนั้นโปรดอ่านคู่มือนี้อีกครั้งหลังจากอัปเกรด ฉันเคยได้ยินรายงานว่ามีการสร้างงานใหม่เรียกว่า "การติดตั้งไฟ AC" ซึ่งต้องใช้ขั้นตอนเดียวกันกับที่ใช้ แต่ฉันไม่เห็นงานนี้ที่สร้างขึ้นในอุปกรณ์ของฉันหลังจากติดตั้งอัพเดต 16299.192 (แพทช์ Meltdown) 16299.192 ฉันไม่สามารถให้คำแนะนำได้อย่างแน่นอน ขั้นตอนเดียวกับที่ทำข้างต้นควรทำงานกับงานที่ได้รับการแนะนำ

ขั้นตอนที่ 3: ตรวจสอบตัวจับเวลาปลุกใน PowerShell

คุณได้ปิดการใช้งานฟังก์ชั่นตั้งเวลาปลุก แต่ Windows 10 มีนิสัยที่ไม่เคารพการตั้งค่าดังกล่าวดังนั้นเพื่อความปลอดภัยเราจะเรียกใช้คำสั่ง PowerShell เพื่อกำจัดงานทั้งหมดที่ทำได้เป็นไปได้ปลุกเครื่องคอมพิวเตอร์ของคุณ เปิดพรอมต์คำสั่งสำหรับผู้ดูแลระบบ PowerShell (เริ่มพิมพ์ 'Powershell', Ctrl + Shift + Enter) และวางคำสั่งนี้ในหน้าต่าง:

Get-ScheduledTask | where {$_.settings.waketorun}

ดำเนินการตามภารกิจทั้งหมดที่มีอยู่ในรายการและลบการอนุญาตให้ปลุกคอมพิวเตอร์ของคุณ คุณไม่จำเป็นต้องกังวลเกี่ยวกับการอนุญาตเหมือนที่เราทำกับ Reboot นั่นเป็นกรณีที่อยู่ห่างไกล

ขั้นตอนที่ 4: ตรวจสอบว่าฮาร์ดแวร์ใดสามารถปลุกพีซีของคุณ

ฮาร์ดแวร์ USB จำนวนมากเมื่อมีส่วนร่วมมีความสามารถในการปลุกพีซีของคุณ (แป้นพิมพ์มักจะทำเมื่อมีการกดแป้นเป็นต้น) โดยทั่วไป wake-on-LAN ก็มีปัญหาเช่นกันในสถานการณ์นี้ สำหรับมือใหม่นั้นคุณสมบัติทั่วไปและมีประโยชน์ของฮาร์ดแวร์สมัยใหม่เรียกว่า 'Wake on LAN' หากอุปกรณ์ของคุณเชื่อมต่อกับเครือข่ายท้องถิ่นโดยใช้สายอีเธอร์เน็ตแบบใช้สาย (มันไม่ทำงานสำหรับ Wi-Fi) คุณสามารถส่งการสื่อสารผ่านที่จะทำให้พีซีของคุณปลุกเมื่อได้รับ มันเป็นคุณสมบัติที่ฉันใช้บ่อย แต่มันจะต้องถูกนำเข้ามาในบรรทัดเนื่องจากพฤติกรรมเริ่มต้นนั้นเกินความคาดหมายเกินไป

ป้อนคำสั่งต่อไปนี้ลงในพร้อมท์คำสั่งของผู้ดูแลระบบ:

powercfg -devicequery wake_armed

command command output ของคำสั่ง

จากที่นี่ค้นหาอุปกรณ์ใน Device Manager ของคุณ (แผงควบคุม) และภายใต้แท็บ "การจัดการพลังงาน" ลบความสามารถในการปลุกคอมพิวเตอร์ของคุณ หากคุณมีการ์ดเชื่อมต่อเครือข่ายที่คุณต้องการเก็บ Wake-on-LAN ไว้ให้เปิดใช้งาน "ปลุกอุปกรณ์นี้เฉพาะเมื่อได้รับแพ็คเก็ตเวทย์มนตร์" ซึ่งตรงข้ามกับการตื่นขึ้นสำหรับการรับส่งข้อมูลทั้งหมดที่ส่งไป

ขั้นตอนที่ 5: ตรวจสอบนโยบายกลุ่มเพื่อให้แน่ใจอย่างสมบูรณ์

คลิกขวาที่เมนู Start แล้วเลือก 'Run' พิมพ์เป็น GPEdit.MSC ค้นหาการตั้งค่าต่อไปนี้ภายใต้การกำหนดค่าคอมพิวเตอร์> เทมเพลตการดูแล> ส่วนประกอบของ Windows> อัปเดตของ Windows> การเปิดใช้งาน Windows Update Power Management เพื่อปลุกระบบโดยอัตโนมัติเพื่อติดตั้งการอัปเดตตามกำหนดเวลา คลิกสองครั้งและตั้งเป็นปิดใช้งาน

ปิดใช้งานฟังก์ชั่นปลุกของ Windows Update

ขั้นตอนที่ 6: ปิดใช้งานการปลุกเครื่องเพื่อการบำรุงรักษาอัตโนมัติ

บางคนที่ Microsoft มีอารมณ์ขันสำหรับเรื่องนี้ หากคุณตื่นขึ้นมาตอนกลางคืนด้วยพีซีสิ่งหนึ่งที่คุณต้องการฟังมากกว่าสิ่งอื่นคือฮาร์ดไดรฟ์ที่กระทืบและบดเหมือนการจัดระเบียบทุกคืน ปิดใช้งานคุณสมบัตินี้โดยค้นหาส่วน "ความปลอดภัยและการบำรุงรักษา" ของแผงควบคุม จากนั้นขยาย "การบำรุงรักษา" และค้นหาลิงก์ไปยัง "เปลี่ยนการตั้งค่าการบำรุงรักษา"

ปิดใช้งานการบำรุงรักษาอัตโนมัติ

ตั้งเวลาให้เป็นสิ่งที่เข้ากับคนง่ายขึ้น (7PM ใช้ได้) และปิดการใช้งานความสามารถของเครื่องในการปลุกตัวเองให้ทำงาน


15
ขอบคุณ! ฉันรู้สึกซาบซึ้งอย่างยิ่งต่อการแก้ปัญหาที่โหดเหี้ยมที่แข็งแกร่งเพื่อเป็นเจ้าของRebootแฟ้มคำจำกัดความของงานที่ระดับ NTFS และลดผู้ใช้ที่แอบอ้างว่าเป็นคนเลวSYSTEM(ab) เพื่ออ่านและดำเนินการอนุญาต วิธีการที่ไร้สาระที่ควรคำนึงถึงในกรณีที่ไมโครซอฟต์ตัดสินใจที่จะเปิดโปงการจับมือที่ไม่เป็นมิตรต่อผู้อื่น ในเพลงที่ยอดเยี่ยมของบอสเช้านี้ฉันตื่นขึ้นสู่ท้องฟ้าที่ว่างเปล่าเมื่อคืนก่อนที่เคยมีกลุ่มเมฆที่ยังไม่ได้บันทึกข้อมูลในโน้ตแพดและแท็บ IE ระบบปฏิบัติการที่เสียสละข้อมูลผู้ใช้บนแท่นบูชาของ Update & Reboot ล้มเหลวอย่างชัดเจนในภารกิจ
Lumi

8
แม้ว่าคำตอบของคุณจะครอบคลุมมากดูเหมือนว่ามีประสิทธิภาพและฉันได้รับการโหวตฉันคิดว่ามันน่าจะเขียนได้ดีกว่าเนื่องจากมีหลายส่วนที่คลุมเครือและ / หรือสับสน (โดยเฉพาะกับคนที่ไม่เข้าใจคอมพิวเตอร์ Super Windows) ตรงประเด็น: ข้อมูลที่ลิงก์ "ทำให้ตัวคุณเองเป็นเจ้าของ" (ซึ่งเป็นบรรทัดคำสั่ง) ต้องทำอย่างไรกับการคลิกขวาที่งานรีบูตและเลือกคุณสมบัติ?
martineau

7
ขอบคุณสำหรับคำตอบนี้ นี่เป็นพฤติกรรมที่ฉันเกลียด Windows 10 โดยสิ้นเชิง - การเปลี่ยนการตั้งค่ากลับไปเป็นสิ่งที่คิดว่าดีแม้ว่าฉันจะคลิกอย่างอื่นก็ตาม เกิดขึ้นกับสิ่งอื่น ๆ เช่นเค้าโครงแป้นพิมพ์
Dav

13
ดังนั้นฉันเพิ่งอัพเกรดเป็น 1709 และไม่สามารถทำให้ Reboot-task นี้ตายได้ แม้หลังจากได้เป็นเจ้าของ แต่เพียงผู้เดียวของงานนี้และได้รับอนุญาตอย่างเต็มที่ฉันไม่สามารถเปลี่ยนแปลงอะไรได้โดยไม่ต้องให้รหัสผ่านสำหรับ "S-1-5-18" - อุดมคติใด ๆ ที่ฉันสามารถฆ่าสิ่งเจ้ากรรมนี้ได้!
MFH

5
@MFH ฉันมีปัญหานั้นด้วยตัวเองและฉันพบวิธีแก้ปัญหาให้ดูsuperuser.com/a/1285419/118910
ohaal

26

ตอนนี้ฉันใช้สคริปต์นี้เพื่อหยุดตัวจับเวลาการปลุกจากการปลุกเดสก์ท็อป 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 }
}

อย่างที่คุณเห็นมันเป็นที่อยู่ของทุกขั้นตอนที่กล่าวถึงในคำตอบนี้มากขึ้นหรือน้อยลงยกเว้นการอนุญาตไฟล์งานตามกำหนดเวลา อย่างไรก็ตามเนื่องจากฉันตั้งใจจะรันสคริปต์นี้ในทุก ๆ การปลดล็อค / การเข้าสู่ระบบฉันหวังว่าสิ่งนี้จะไม่เป็นปัญหาเลย


เป็นสคริปต์. bat หรือไม่
alm

6
ดูเหมือนว่าสคริปต์ PowerShell .ps1 ต้องได้รับอนุญาตจากผู้ดูแลระบบ หากต้องการปิดการใช้งานที่กำหนดเวลาไว้อย่างถูกต้องรวมถึงการอนุญาตให้ใช้การรวมกันของ TASKEOWN, ICACLS และ SCHTASKS ในแบตช์ไฟล์
psouza4

ไม่ได้ผลสำหรับฉัน :(
sergiol

Get-ScheduledTaskส่วนหนึ่งของสคริปต์ที่ล้มเหลวเมื่อพบงานดังกล่าว ความคิดวิธีการแก้ปัญหาใด ๆ
thisismydesign

2
@mousio ฉันต้องเรียกใช้สคริปต์ในเทอร์มินัลผู้ดูแลระบบเพื่อพบสิ่งเหล่านั้น ทางออกคือการเป็นเจ้าของและให้สิทธิ์การเข้าถึงแก่ผู้ดูแลระบบอย่างเต็มที่ สำหรับSet-ScheduledTaskคือไม่คิดว่ามันจะใช้ScheduledTaskวัตถุเป็นพารามิเตอร์ สิ่งนี้ใช้งานได้จริงสำหรับคุณในการปรับเปลี่ยนงานหรือไม่? นี่คือข้อมูลอ้างอิงจากบุคคลอื่นที่รายงาน: social.technet.microsoft.com/Forums/en-US/…
thisismydesign

10

ฉันพบคำตอบอื่น ๆ ที่เป็นประโยชน์อย่างไม่น่าเชื่อและจะแสดงความคิดเห็นถ้าฉันทำได้ แต่ฉันต้องการมีส่วนร่วมของซอฟต์แวร์ที่ฉันเขียนอย่างรวดเร็วเพื่อช่วยในขั้นตอนที่ 3 และ 4 พบที่นี่:

https://github.com/Omniru/System-Wake-Manager/wiki/Home-&-Download

หวังว่ามันเป็นประโยชน์กับบางคน

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

คุณอาจเห็นป๊อปอัปนี้และต้องคลิก "ข้อมูลเพิ่มเติม" จากนั้น "เรียกใช้งานต่อไป" (ถ้าคุณไม่แน่ใจเกี่ยวกับมันโปรดตรวจสอบซอร์สโค้ดมันอยู่ใน GitHub หลังจากนั้น): ป้อนคำอธิบายรูปภาพที่นี่


1
เยี่ยมมากเอริค
Seagull

1
ดังนั้นถ้ามันเป็นงานบำรุงรักษาอัตโนมัติที่กำหนดเวลาไว้แล้วทำไม heck จึงไม่สามารถทำให้คอมพิวเตอร์กลับเข้าสู่โหมดสลีปหลังจากการบำรุงรักษาเสร็จสิ้นแล้ว! จากนั้นฉันจะไม่มีปัญหากับมันเลย
ไวทัส
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.