วิธีตั้งค่าการแจ้งเตือนเมื่อเสียบและถอดสายไฟใน Windows 10

เพื่อให้ได้รับการแจ้งเตือนบนเดสก์ท็อปเมื่อเสียบหรือถอดสายไฟ ให้เรียกใช้สคริปต์ตรวจสอบขนาดเล็กใน Windows PowerShell สคริปต์นี้จะตรวจสอบสถานะไฟ AC ของคอมพิวเตอร์ทุกๆ สองวินาที แสดงการแจ้งเตือนเมื่อสถานะเปลี่ยนแปลง และเล่นเสียง Asterisk มาตรฐานของ Windows สคริปต์นี้ใช้ Windows PowerShell 5.1 และ Windows Forms ที่มาพร้อมกับ Windows ดังนั้นจึงไม่จำเป็นต้องดาวน์โหลด AutoHotkey แยกต่างหาก สคริปต์ต้องทำงานอยู่ในเซสชันเดสก์ท็อปที่คุณลงชื่อเข้าใช้ และคอมพิวเตอร์ต้องรายงานสถานะพลังงานที่ทราบได้

สิ่งที่ระบบแจ้งเตือนสามารถตรวจจับได้

สคริปต์อ่านว่าSystemInformation.PowerStatus.PowerLineStatus. เอกสารของ Microsoft ระบุค่าที่เป็นไปได้สามค่า ได้แก่Online, Offline, และUnknown. บนแล็ปท็อป โดยทั่วไปแล้ว สถานะออนไลน์หมายถึงมีการเชื่อมต่อแหล่งจ่ายไฟ AC ภายนอก และสถานะออฟไลน์หมายถึงระบบกำลังใช้พลังงานจากแบตเตอรี่ หากคอมพิวเตอร์รายงานว่าไม่ทราบ สคริปต์จะเงียบแทนที่จะคาดเดา ดูเอกสารของ Microsoft สำหรับค่าSystemInformation.PowerStatusและPowerLineStatus

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

สร้างสคริปต์ PowerShell

  1. เปิดโปรแกรม Notepad แล้ววางสคริปต์ทั้งหมดด้านล่างลงไป
  2. เลือกไฟล์ > บันทึกเป็นบันทึกไฟล์ลงในโฟลเดอร์ เอกสาร ของคุณ โดยPowerCableAlerts.ps1ตั้งค่าประเภทการบันทึกเป็นไฟล์ทั้งหมด (*.*)เพื่อไม่ให้ Notepad เพิ่ม.txtนามสกุลไฟล์ ที่ซ่อนไว้
  3. ใช้แอปพลิเคชัน Windows PowerShell ทั่วไปสำหรับขั้นตอนด้านล่าง ตัวอย่างนี้ใช้ Windows Forms ซึ่งมีอยู่ใน Windows PowerShell 5.1
หน้าต่าง Notepad ที่เปิดไฟล์ PowerCableAlerts.ps1 พร้อมข้อความอธิบายสคริปต์แจ้งเตือนสถานะพลังงาน
บันทึกสคริปต์เป็นไฟล์ .ps1 ในโปรแกรม Notepad
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

$notify = New-Object System.Windows.Forms.NotifyIcon
$notify.Icon = [System.Drawing.SystemIcons]::Information
$notify.Visible = $true
$notify.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Info
$notify.Text = "Power cable alert monitor"

$previous = [System.Windows.Forms.SystemInformation]::PowerStatus.PowerLineStatus

try {
    while ($true) {
        $current = [System.Windows.Forms.SystemInformation]::PowerStatus.PowerLineStatus

        if (($current -ne [System.Windows.Forms.PowerLineStatus]::Unknown) -and
            ($previous -ne [System.Windows.Forms.PowerLineStatus]::Unknown) -and
            ($current -ne $previous)) {

            if ($current -eq [System.Windows.Forms.PowerLineStatus]::Online) {
                $notify.BalloonTipTitle = "Power cable connected"
                $notify.BalloonTipText = "AC power is connected."
            }
            elseif ($current -eq [System.Windows.Forms.PowerLineStatus]::Offline) {
                $notify.BalloonTipTitle = "Power cable disconnected"
                $notify.BalloonTipText = "The computer is running on battery."
            }

            $notify.ShowBalloonTip(10000)
            [System.Media.SystemSounds]::Asterisk.Play()
        }

        $previous = $current
        [System.Windows.Forms.Application]::DoEvents()
        Start-Sleep -Seconds 2
    }
}
finally {
    $notify.Visible = $false
    $notify.Dispose()
}

การอ่านสถานะครั้งแรกจะใช้เป็นค่าพื้นฐาน ดังนั้นสคริปต์จะไม่แจ้งเตือนการเชื่อมต่อที่เกิดขึ้นอยู่แล้วเมื่อเริ่มต้น แต่จะแจ้งเตือนเมื่อมีการเปลี่ยนแปลงในภายหลัง การแจ้งเตือนใช้NotifyIconคอมโพเนนต์ Windows Forms และเมธอดของมัน Windows สามารถปรับระยะเวลาที่การแจ้งเตือนยังคงปรากฏให้เห็นได้ตามการตั้งค่า โปรดอ่าน ภาพรวม NotifyIconและข้อมูลอ้างอิง ShowBalloonTipของShowBalloonTipMicrosoft

ลองรันดูและทดสอบการแจ้งเตือนทั้งสองแบบ

  1. เปิดWindows PowerShellจากเมนูเริ่ม คุณไม่จำเป็นต้องเรียกใช้ในฐานะผู้ดูแลระบบ
  2. สำหรับเซสชันนี้เท่านั้น โปรดอนุญาตให้สคริปต์ทำงาน จากนั้นจึงเรียกใช้สคริปต์:
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
    & "$env:USERPROFILE\Documents\PowerCableAlerts.ps1"
  3. เปิดหน้าต่าง PowerShell ทิ้งไว้ ถอดสายไฟออกแล้วรอสักครู่จนกว่าจะมีข้อความแจ้งเตือนการตัดการเชื่อมต่อ จากนั้นเสียบสายไฟกลับเข้าไปเพื่อตรวจสอบข้อความแจ้งเตือนการเชื่อมต่ออีกครั้ง กดCtrl+Cในหน้าต่างนั้นเมื่อคุณต้องการหยุดสคริปต์
หน้าต่างคอนโซล Windows PowerShell แสดงคำสั่งเรียกใช้ไฟล์ PowerCableAlerts.ps1 จากโฟลเดอร์เอกสาร
สำหรับการทดสอบครั้งแรก ให้รันสคริปต์จากเซสชัน Windows PowerShell ปกติ

ขอบเขตProcessนโยบายการดำเนินการจะมีผลเฉพาะกับกระบวนการ PowerShell ปัจจุบันเท่านั้น และจะหายไปเมื่อกระบวนการนั้นปิดลง มันไม่ได้เปลี่ยนแปลงนโยบายของคอมพิวเตอร์อย่างถาวร Microsoft อธิบายขอบเขตต่างๆ ไว้ในabout_Execution_Policiesหากนโยบายของที่ทำงานหรือโรงเรียนบล็อกคำสั่งนั้น ให้ปฏิบัติตามกฎของผู้ดูแลระบบแทนการเปลี่ยนแปลงการตั้งค่าทั่วทั้งเครื่อง

ข้อความแจ้งเตือนจาก Windows 10 ระบุว่า "สายไฟถูกตัดการเชื่อมต่อ และไม่ได้เสียบปลั๊กไฟอีกต่อไป"
ข้อความแจ้งเตือนการตัดการเชื่อมต่อจะปรากฏขึ้นหลังจากที่สคริปต์ตรวจพบการเปลี่ยนจากไฟ AC เป็นแบตเตอรี่

ตั้งค่าการแจ้งเตือนอัตโนมัติเมื่อเข้าสู่ระบบ

  1. ค้นหาTask Schedulerจากเมนู Start แล้วเลือกCreate Basic Task
  2. ตั้งชื่อภารกิจว่า " การแจ้งเตือนสายไฟ " ตั้งค่าทริกเกอร์เป็น " เมื่อฉันเข้าสู่ระบบ"จากนั้นเลือก " เริ่มโปรแกรม"เป็นการกระทำ
  3. สำหรับโปรแกรม/สคริปต์ให้ป้อนpowershell.exeใน ช่อง เพิ่มอาร์กิวเมนต์ให้ป้อนข้อความต่อไปนี้ โดยแทนที่YourNameด้วยชื่อโฟลเดอร์ผู้ใช้ Windows ของคุณ:
    -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Users\YourName\Documents\PowerCableAlerts.ps1"
  4. หลังจากวิซาร์ดทำงานเสร็จแล้ว ให้เปิดคุณสมบัติของงานและเลือก " เรียกใช้เฉพาะเมื่อผู้ใช้เข้าสู่ระบบอยู่"วิธีนี้จะทำให้สคริปต์อยู่ในเซสชันเดสก์ท็อปของคุณ ซึ่งจะแสดงการแจ้งเตือนได้ ใช้ตัวเลือก "เรียกใช้หนึ่งครั้ง" เพื่อทดสอบ จากนั้นออกจากระบบและเข้าสู่ระบบใหม่อีกครั้งเพื่อยืนยันว่าสคริปต์จะเริ่มต้นทำงานโดยอัตโนมัติ
ตัวกำหนดเวลาทำงาน สร้างงานพื้นฐาน โดยเลือกตัวกระตุ้น "เมื่อฉันเข้าสู่ระบบ"
เลือกตัวกระตุ้นการเข้าสู่ระบบเพื่อให้ตัวตรวจสอบเริ่มต้นพร้อมกับเซสชันเดสก์ท็อปของคุณ

หากต้องการหยุดการแจ้งเตือนอัตโนมัติ ให้เปิดตัวกำหนดเวลาทำงาน (Task Scheduler) คลิกขวาที่การแจ้งเตือนสายไฟ (Power Cable Alerts ) แล้วเลือก ปิดใช้งาน (Disable ) หากต้องการยุติการทำงานที่กำหนดเวลาไว้ซึ่งกำลังทำงานอยู่ ให้เลือกสิ้นสุด (End)สำหรับงานนั้น หากคุณต้องการหยุดชั่วคราว การปิดใช้งานงานก็เพียงพอแล้ว งานจะไม่เริ่มทำงานในการเข้าสู่ระบบครั้งถัดไปจนกว่าจะเปิดใช้งานอีกครั้ง

หากไม่มีการแจ้งเตือนปรากฏขึ้น

  • ตรวจสอบที่ การตั้งค่า > ระบบ > การแจ้งเตือนและการดำเนินการเปิดใช้งานการแจ้งเตือน และตรวจสอบให้แน่ใจว่า Focus Assist ไม่ได้ปิดกั้นแบนเนอร์ การแจ้งเตือนอาจยังคงปรากฏอยู่ในศูนย์การดำเนินการหลังจากที่แบนเนอร์หายไปแล้ว
  • ตรวจสอบให้แน่ใจว่าสคริปต์ยังคงทำงานอยู่ สคริปต์ที่เริ่มต้นด้วยตนเองจะหยุดทำงานเมื่อคุณปิดหน้าต่าง PowerShell สำหรับการเรียกใช้งานตามกำหนดเวลา ให้ตรวจสอบสถานะของงานในตัวกำหนดเวลาทำงาน (Task Scheduler)
  • หากไม่มีการแจ้งเตือนใดๆ ปรากฏขึ้นหลังจากถอดปลั๊กและเสียบปลั๊กใหม่ อุปกรณ์อาจกำลังตรวจสอบUnknownสถานะการเชื่อมต่อกับสายไฟ API นี้จะรายงานสถานะที่ Windows ได้รับจากฮาร์ดแวร์ ดังนั้นสคริปต์จึงไม่สามารถสร้างการแจ้งเตือนการเชื่อมต่อ/ตัดการเชื่อมต่อที่เชื่อถือได้เมื่อสถานะนั้นไม่พร้อมใช้งาน
  • หากหน้าต่างป๊อปอัพปรากฏขึ้นแต่ไม่มีเสียง โปรดตรวจสอบการตั้งค่าระดับเสียงและเสียงของ Windows สคริปต์จะเล่นเสียงมาตรฐานของ Asterisk ไม่ใช่ไฟล์เสียงที่กำหนดเอง

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

ฝากความเห็น

วิธีการติดตั้ง Add-on ของ Minecraft บน Windows 10

วิธีการติดตั้ง Add-on ของ Minecraft บน Windows 10

นำเข้าไฟล์ Bedrock .mcpack หรือ .mcaddon บน Windows 10 เปิดใช้งานสำหรับโลกใหม่หรือโลกที่มีอยู่แล้ว และหลีกเลี่ยงการสับสนระหว่างส่วนเสริมกับม็อด Java

วิธีจำกัดการใช้งาน CPU ของ Microsoft Defender บน Windows 10

วิธีจำกัดการใช้งาน CPU ของ Microsoft Defender บน Windows 10

ตั้งค่าเป้าหมายการใช้งาน CPU สำหรับการสแกน Defender ใน PowerShell ให้ต่ำลง จัดการข้อยกเว้นการสแกนขณะไม่ได้ใช้งาน และตรวจสอบว่าการตั้งค่านี้มีผลต่อการสแกนใดใน Windows 10

วิธีปรับความสว่างหน้าจอตามช่วงเวลาของวันใน Windows 10

วิธีปรับความสว่างหน้าจอตามช่วงเวลาของวันใน Windows 10

ตั้งค่าระดับความสว่างในเวลากลางวันและกลางคืนบน Windows 10 ด้วย ClickMonitorDDC 7.2 และเรียนรู้เกี่ยวกับข้อจำกัดของ DDC/CI และทางเลือกโหมดแสงกลางคืน

วิธีแก้ไขปัญหา “เราไม่สามารถตั้งค่าฮอตสปอตมือถือได้” ใน Windows 10

วิธีแก้ไขปัญหา “เราไม่สามารถตั้งค่าฮอตสปอตมือถือได้” ใน Windows 10

กู้คืนฮอตสปอตของ Windows 10 โดยตรวจสอบแหล่งที่มาของอินเทอร์เน็ตและอะแดปเตอร์ไร้สาย ซ่อมแซมไดรเวอร์ และเก็บการรีเซ็ตเครือข่ายไว้เป็นขั้นตอนสุดท้าย

วิธีเปลี่ยนโหมดการฉายภาพใน Windows 10 ด้วยปุ่มลัดบนแป้นพิมพ์

วิธีเปลี่ยนโหมดการฉายภาพใน Windows 10 ด้วยปุ่มลัดบนแป้นพิมพ์

ตั้งค่าปุ่มลัดแบบกำหนดเองสำหรับแต่ละโหมดการฉายภาพใน Windows 10 ด้วย DisplaySwitch.exe รวมถึงโหมดขยาย โหมดทำซ้ำ และโหมดแสดงผลเฉพาะหน้าจอที่สอง

วิธีปรับสมดุลเสียงซ้าย/ขวาสำหรับหูฟังบลูทูธใน Windows 10

วิธีปรับสมดุลเสียงซ้าย/ขวาสำหรับหูฟังบลูทูธใน Windows 10

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

วิธีเปิดใช้งานการแสดงตัวอย่างภาพขนาดย่อของภาพ RAW ใน Windows 10

วิธีเปิดใช้งานการแสดงตัวอย่างภาพขนาดย่อของภาพ RAW ใน Windows 10

ติดตั้งส่วนขยาย Raw Image Extension ฟรีของ Microsoft และปรับการตั้งค่า File Explorer เพื่อแสดงตัวอย่างไฟล์ RAW จากกล้องที่รองรับใน Windows 10

วิธีปิดใช้งานคำแนะนำเกมบน Game Bar ใน Windows 10

วิธีปิดใช้งานคำแนะนำเกมบน Game Bar ใน Windows 10

หยุดการแสดงคำแนะนำเริ่มต้นเกมของ Xbox Game Bar ใน Windows 10 โดยยังคงใช้งานโอเวอร์เลย์และปุ่มควบคุมการจับภาพได้

วิธีการย้ายไฟล์ระหว่างไดรฟ์ด้วยการลากและวางบน Windows 10

วิธีการย้ายไฟล์ระหว่างไดรฟ์ด้วยการลากและวางบน Windows 10

ใน Windows 10 การย้ายไฟล์ระหว่างไดรฟ์ทำได้โดยการกดปุ่ม Shift ค้างไว้ขณะลากใน File Explorer ตรวจสอบการย้าย และใช้การตัดและวางเป็นทางเลือกสำรอง

วิธีตรวจสอบว่าไฟล์ EXE เป็นเวอร์ชัน 32 บิตหรือ 64 บิตบน Windows 10

วิธีตรวจสอบว่าไฟล์ EXE เป็นเวอร์ชัน 32 บิตหรือ 64 บิตบน Windows 10

ใช้ Windows PowerShell เพื่ออ่านประเภทเครื่อง PE ของไฟล์ EXE ระบุว่าเป็น 32 บิตหรือ 64 บิต และหลีกเลี่ยงการพึ่งพาชื่อไฟล์หรือไอคอน