จัดการการแจ้งเตือนบน Windows 11: ตั้งค่า Quiet Hours อัตโนมัติด้วย Task Scheduler
เลิกปิดแจ้งเตือนด้วยมือทีละครั้ง มาตั้งค่า Quiet Hours หรือ Do Not Disturb บน Windows 11 ให้ทำงานอัตโนมัติตามเวลาที่เรากำหนด ด้วย Task Scheduler กันเถอะ
สารบัญ

เคยกำลังไล่โค้ดหรือทำงานสำคัญจนใกล้เสร็จ แล้วโดนแจ้งเตือนจากแอปนู้นแอปนี้รบกวนจนไอเดียหลุดไปครึ่งหนึ่งไหม? สถิติจากงานวิจัยหลายชิ้นชี้ว่าการถูกรบกวนจากการแจ้งเตือนระหว่างการทำงาน ทำให้เราใช้เวลาฟื้นความสมาธิกลับมาถึง 23 นาทีต่อครั้ง ซึ่งถ้าเกิดวันละ 3-4 ครั้ง ก็เท่ากับว่าเราเสียเวลาไปกับมันเกือบชั่วโมงครึ่งแล้ว
ใน Windows 11 มีฟีเจอร์ที่ชื่อว่า Do Not Disturb (หรือที่หลายคนรู้จักกันในชื่อเดิมว่า Focus Assist หรือ Quiet Hours) ที่ช่วยปิดการแจ้งเตือนได้ แต่ปัญหาคือการต้องมานั่งกดเปิด-ปิดด้วยมือทุกครั้งมันก็น่ารำคาญไม่ใช่น้อย วันนี้เราเลยจะมาใช้พลังของ Task Scheduler ร่วมกับ PowerShell เพื่อตั้งค่า Quiet Hours ให้ทำงานอัตโนมัติกัน
ทำไมต้องใช้ Task Scheduler?
Task Scheduler เป็นเครื่องมือตัวจริงของ Windows ที่ทำงานเบื้องหลังเพื่อรันคำสั่งหรือสคริปต์ตามเวลาที่เรากำหนด แม้ Windows 11 จะมีการตั้งค่า Do Not Disturb อัตโนมัติแบบเบื้องต้นในเมนู Settings แต่มันมักจะจำกัดอยู่แค่เวลาที่เราเล่นเกมเต็มจอ หรือใช้แอปโหมดโปรเจ็กต์ การใช้ Task Scheduler จะช่วยให้เรากำหนดเวลาแบบ Custom ได้เลย เช่น อยากให้ปิดแจ้งเตือนทุกวันตั้งแต่ 09:00 - 12:00 น. และ 14:00 - 17:00 น. ก็ทำได้
ทำความเข้าใจกลไกของ Do Not Disturb ใน Windows 11
ใน Windows 11 การเปิด-ปิด Do Not Disturb สามารถโดนควบคุมผ่าน Registry ได้ ซึ่งเราจะใช้คีย์ NOC_GLOBAL_SETTING_TOASTS_ENABLED ใน Registry Path ของ Notifications ในการสั่งเปิดหรือปิดการแจ้งเตือน
- ค่า
0หมายถึง ปิดการแจ้งเตือน (Quiet Hours / Do Not Disturb เปิดทำงาน) - ค่า
1หมายถึง เปิดการแจ้งเตือนปกติ
เมื่อเราเข้าใจหลักการแล้ว ขั้นตอนต่อไปคือการเตรียมสคริปต์ PowerShell สั้นๆ ไว้สำหรับสั่งงาน
เตรียมสคริปต์ PowerShell
ก่อนจะไปสร้าง Task ใน Task Scheduler ให้เราเตรียมสคริปต์สำหรับเปิดและปิดการแจ้งเตือนกันก่อน เปิด Notepad ขึ้นมาแล้ววางโค้ดด้านล่างนี้
สคริปต์สำหรับเปิด Quiet Hours (ปิดการแจ้งเตือน)
บันทึกไฟล์นี้ชื่อ EnableQuietHours.ps1
$path = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings"
$name = "NOC_GLOBAL_SETTING_TOASTS_ENABLED"
Set-ItemProperty -Path $path -Name $name -Value 0
สคริปต์สำหรับปิด Quiet Hours (เปิดการแจ้งเตือนกลับมา)
บันทึกไฟล์นี้ชื่อ DisableQuietHours.ps1
$path = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings"
$name = "NOC_GLOBAL_SETTING_TOASTS_ENABLED"
Set-ItemProperty -Path $path -Name $name -Value 1
เก็บไฟล์ทั้งสองไว้ในโฟลเดอร์เดียวกัน เช่น C:\Scripts\ เพื่อให้ง่ายต่อการเรียกใช้งาน
ขั้นตอนการตั้งค่าใน Task Scheduler
ตอนนี้เรามีสคริปต์พร้อมแล้ว ขั้นตอนต่อไปคือการสั่งให้ Windows รันสคริปต์เหล่านี้ตามเวลาที่เราต้องการ
- กดปุ่ม
Windowsพิมพ์หา Task Scheduler แล้วกด Enter - ในหน้าต่างด้านขวา คลิกที่ Create Task... (อย่ากด Create Basic Task เพราะเราต้องการตั้งค่าแบบละเอียด)
ตั้งค่า General
- Name: ตั้งชื่อให้จำง่าย เช่น
Enable Quiet Hours Morning - Description: ปิดการแจ้งเตือนช่วงเช้า
- เลือก Run whether user is logged on or not (ถ้าต้องการให้รันตลอด) หรือ Run only when user is logged on (แนะนำสำหรับเครื่องส่วนตัว)
- ติ๊ก Run with highest privileges เพื่อให้แน่ใจว่าสคริปต์มีสิทธิ์เข้าถึง Registry
ตั้งค่า Triggers (กำหนดเวลา)
- ไปที่แท็บ Triggers คลิก New...
- เลือก On a schedule ในส่วน Begin the task
- ตั้งค่าเวลาที่ต้องการให้เริ่มปิดการแจ้งเตือน เช่น ทุกวัน เวลา 09:00:00
- ติ๊ก Enabled แล้วกด OK
ตั้งค่า Actions (สั่งรันสคริปต์)
- ไปที่แท็บ Actions คลิก New...
- ในช่อง Action เลือก Start a program
- ในช่อง Program/script ใส่คำว่า
powershell.exe - ในช่อง Add arguments (optional) ใส่คำสั่งนี้:
-WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Scripts\EnableQuietHours.ps1"(อย่าลืมเปลี่ยนพาธให้ตรงกับที่คุณเซฟไฟล์ไว้) - กด OK
ตั้งค่า Conditions และ Settings
- ในแท็บ Conditions แนะนำให้ถอนติ๊กหน้า Start the task only if the computer is on AC power ออก เผื่อใครใช้โน้ตบุ๊กแบตหมด
- ในแท็บ Settings ติ๊ก Run task as soon as possible after a scheduled start is missed เพื่อให้ระบบรันสคริปต์ให้แม้เครื่องจะปิดอยู่ตอนถึงเวลาที่กำหนด และเปิดขึ้นมาทีหลัง
กด OK เป็นอันจบขั้นตอนการสร้าง Task สำหรับการปิดแจ้งเตือน
สร้าง Task สำหรับเปิดการแจ้งเตือนกลับมา
ทำซ้ำทุกขั้นตอนข้างต้น แต่เปลี่ยนชื่อ Task เป็น Disable Quiet Hours Morning และตั้งเวลา Trigger เป็นเวลาที่คุณต้องการให้แจ้งเตือนกลับมา เช่น 12:00 น.
ในส่วนของ Actions ให้เปลี่ยนพาธไฟล์สคริปต์เป็น C:\Scripts\DisableQuietHours.ps1 แทน
ทดสอบการทำงาน
เมื่อตั้งค่าเสร็จแล้ว อย่าเพิ่งรอถึงเวลาที่กำหนด ให้ทดสอบดูก่อนเลยว่าสคริปต์ใช้งานได้จริงไหม
- ในหน้าต่าง Task Scheduler คลิกขวาที่ Task ที่เราสร้างขึ้น
- เลือก Run
- สังเกตไอคอนแจ้งเตือนที่ Taskbar ด้านล่างขวา ถ้ามีระฆังมีสัญลักษณ์ตัด (หรือดวงจันทร์) แสดงว่า Quiet Hours ทำงานแล้ว
กรณีศึกษา: ชีวิตหลังใช้ Task Scheduler
สมมติว่าคุณเป็นโปรแกรมเมอร์ที่ต้องเขียนโค้ดช่วงเช้าและบ่าย คุณสามารถตั้งเวลาปิดแจ้งเตือนได้ที่ 09:00 - 12:00 และ 13:30 - 17:00 ตามเวลาทำงานจริง ช่วงเวลาที่เหลือ เช่น พักกินข้าวหรือหลังเลิกงาน การแจ้งเตือนก็จะกลับมาทำงานปกติ
การจัดการแบบนี้ทำให้คุณไม่พลาดการแจ้งเตือนสำคัญจาก Slack หรือ Email ในช่วงที่ไม่ได้ทำงานหนัก แต่ขณะเดียวกันก็ได้สมาธิเต็ม 100% ในช่วงเวลาที่ต้องออกแรงคิดหนัก
ข้อควรระวัง
- การแก้ไข Registry อาจมีความเสี่ยงหากตั้งค่าผิดพลาด แต่สคริปต์ที่ให้ไปนี้เป็นการแก้ไขเฉพาะส่วนของการแจ้งเตือน จึงค่อนข้างปลอดภัย
- หาก Windows 11 มีการอัปเดตใหญ่ โครงสร้าง Registry อาจเปลี่ยนแปลงได้ ถ้าสคริปต์ใช้ไม่ได้แล้ว ให้เช็กพาธและชื่อคีย์ใหม่อีกครั้ง
- การตั้งค่านี้จะไม่บังคับปิดแจ้งเตือนจากแอปที่ตั้งค่าไว้ว่า "Priority" หรือ "High" ในระบบ ดังนั้นแอปวิกฤตอย่างระบบแจ้งเตือนอาคารไฟไหม้ (ถ้ามี) ก็ยังส่งเสียงได้
สรุป
การใช้ Task Scheduler ควบคุม Quiet Hours บน Windows 11 อาจดูเหมือนเป็นเรื่องของคนขี้เกียจ แต่จริงๆ แล้วมันคือการตั้งระบบอัตโนมัติเพื่อปกป้องสมาธิของเรา ลองทำตามขั้นตอนนี้ดู แล้วคุณจะพบว่าการทำงานบนคอมพิวเตอร์มันสงบขึ้นมาก
ถ้าใครทำตามได้ผลยังไง หรือมีทริคส์สุดเจ๋งในการเพิ่ม Productivity บน Windows แบ่งปันกันได้ในคอมเมนต์เลยนะ! และอย่าลืมกดติดตามบทความใหม่ๆ จากชุมชนของเรา เราจะมีเทคนิคดีๆ มาฝากกันเรื่อยๆ
เนื้อหาที่จัดทำโดยมี AI ช่วยจะมีป้ายกำกับ "เรียบเรียงโดยมี AI ช่วย" เพื่อให้คุณทราบอย่างชัดเจน เราถือว่าความโปร่งใสเรื่องการใช้ AI เป็นสิ่งสำคัญต่อความไว้วางใจของผู้อ่าน
ความคิดเห็น (0)
ยังไม่มีความคิดเห็น — มาเป็นคนแรกกันเถอะ!