Strona główna
» WINDOWS
»
Jak włączyć alerty o podłączeniu i odłączeniu kabla zasilającego w systemie Windows 10
Jak włączyć alerty o podłączeniu i odłączeniu kabla zasilającego w systemie Windows 10
Aby otrzymywać alerty na pulpicie o podłączeniu lub odłączeniu kabla zasilającego, uruchom niewielki skrypt monitorujący w programie Windows PowerShell. Sprawdza on stan zasilania sieciowego komputera co dwie sekundy, wyświetla powiadomienie o zmianie stanu i odtwarza standardowy dźwięk gwiazdki systemu Windows. Skrypt korzysta z programu Windows PowerShell 5.1 i formularzy Windows Forms dołączonych do systemu Windows, więc nie ma potrzeby oddzielnego pobierania programu AutoHotkey. Skrypt musi pozostać uruchomiony w sesji pulpitu po zalogowaniu, a komputer musi zgłaszać znany stan zasilania.
Co może wykryć alert
Skrypt odczytuje SystemInformation.PowerStatus.PowerLineStatus. Microsoft dokumentuje trzy możliwe wartości: Online, Offlinei Unknown. Na laptopie „online” zazwyczaj oznacza, że podłączone jest zewnętrzne źródło zasilania prądem zmiennym, a „offline” oznacza, że system jest zasilany z baterii. Jeśli komputer zgłasza „nieznany”, skrypt pozostaje nieaktywny, zamiast zgadywać. Zapoznaj się z dokumentacją Microsoftu dotyczącą SystemInformation.PowerStatus i wartości PowerLineStatus .
Wykrywa zmianę między zasilaniem sieciowym a baterią. Nie informuje, czy bateria jest aktywnie ładowana i nie może powiadomić użytkownika, gdy system Windows jest wyłączony. Ponieważ sprawdza co dwie sekundy, między sprawdzeniami mogą występować bardzo niewielkie zmiany. Jeśli komputer przejdzie w tryb uśpienia, zmiana może być zauważona po jego wybudzeniu tylko wtedy, gdy zgłoszony stan różni się od ostatniego stanu wykrytego przez skrypt.
Utwórz skrypt programu PowerShell
Otwórz Notatnik i wklej poniżej cały skrypt.
Wybierz Plik > Zapisz jako . Zapisz plik w folderze Dokumenty jako PowerCableAlerts.ps1. Ustaw opcję Zapisz jako typ na Wszystkie pliki (*.*) , aby Notatnik nie dodał ukrytego .txtrozszerzenia.
Użyj standardowej aplikacji Windows PowerShell do wykonania poniższych kroków. W przykładzie wykorzystano formularze Windows Forms, dostępne w programie Windows PowerShell 5.1.
Pierwszy odczyt statusu jest używany jako punkt odniesienia, więc skrypt nie ogłasza połączenia, które istniało już w momencie uruchomienia. Powiadamia o późniejszej zmianie. Powiadomienie korzysta z NotifyIconkomponentu Windows Forms i jego metody; system Windows może dostosować czas wyświetlania powiadomienia na podstawie jego ustawień. Zapoznaj się z omówieniem funkcji NotifyIconShowBalloonTip firmy Microsoft oraz dokumentacją funkcji ShowBalloonTip .
Uruchom i przetestuj oba alerty
Otwórz program Windows PowerShell w menu Start. Nie musisz uruchamiać go jako administrator.
Tylko na czas tej sesji zezwól na uruchomienie skryptu, a następnie uruchom go:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
& "$env:USERPROFILE\Documents\PowerCableAlerts.ps1"
Pozostaw okno programu PowerShell otwarte. Odłącz kabel zasilający i odczekaj kilka sekund na alert o odłączeniu; podłącz go ponownie, aby sprawdzić alert o połączeniu. Naciśnij Ctrl+C w tym oknie, gdy chcesz zatrzymać skrypt.
Uruchom skrypt w standardowej sesji programu Windows PowerShell w celu przeprowadzenia pierwszego testu.
Zakres Processzasad wykonywania dotyczy tylko bieżącego procesu programu PowerShell i znika po jego zamknięciu. Nie zmienia on trwale zasad komputera. Firma Microsoft wyjaśnia zakresy w dokumencie about_Execution_Policies . Jeśli zasady w firmie lub szkole blokują polecenie, należy postępować zgodnie z zasadami administratora, zamiast zmieniać ustawienia na poziomie całego komputera.
Alert o rozłączeniu pojawia się, gdy skrypt wykryje zmianę zasilania z sieciowego na bateryjne.
Uruchom alerty automatycznie po zalogowaniu
Wyszukaj Harmonogram zadań w menu Start i wybierz opcję Utwórz podstawowe zadanie .
Nadaj zadaniu nazwę „Alerty kabli zasilających” . Ustaw wyzwalacz na „ Kiedy się loguję” , a następnie wybierz „Uruchom program” jako akcję.
W polu Program/skrypt wpisz powershell.exe. W polu Dodaj argumenty wpisz poniższy kod, zastępując YourNamego nazwą folderu użytkownika systemu Windows:
Po zakończeniu działania kreatora otwórz właściwości zadania i wybierz opcję Uruchom tylko wtedy, gdy użytkownik jest zalogowany . Dzięki temu skrypt pozostanie w sesji pulpitu, gdzie będzie mógł wyświetlać powiadomienia. Użyj opcji Uruchom raz, aby go przetestować, a następnie wyloguj się i zaloguj ponownie, aby potwierdzić automatyczne uruchomienie.
Wybierz wyzwalacz logowania, aby obserwator rozpoczął sesję na Twoim komputerze.
Aby zatrzymać automatyczne alerty, otwórz Harmonogram zadań, kliknij prawym przyciskiem myszy „ Alerty kabli zasilających” i wybierz „Wyłącz” . Aby zakończyć aktualnie uruchomioną instancję, wybierz „Zakończ” dla tego zadania. Jeśli chcesz je tylko tymczasowo wstrzymać, wystarczy je wyłączyć; nie uruchomi się ono przy następnym logowaniu, dopóki nie zostanie ponownie włączone.
Jeśli nie pojawi się żadne powiadomienie
Sprawdź Ustawienia > System > Powiadomienia i akcje . Włącz powiadomienia i upewnij się, że funkcja Focus Assist nie blokuje banerów. Powiadomienie może być nadal dostępne w Centrum akcji po zniknięciu banera.
Sprawdź, czy skrypt nadal działa. Skrypt uruchomiony ręcznie kończy działanie po zamknięciu okna programu PowerShell. W przypadku zaplanowanej instancji sprawdź stan zadania w Harmonogramie zadań.
Jeśli po odłączeniu i ponownym podłączeniu nie pojawi się żaden alert, urządzenie może powracać Unknowndo stanu zasilania. Ten interfejs API raportuje stan sprzętu odbierany przez system Windows, więc skrypt nie może utworzyć wiarygodnego alertu o połączeniu/odłączeniu, gdy ten stan jest niedostępny.
Jeśli pojawi się wyskakujące okienko, ale nie będzie dźwięku, sprawdź ustawienia głośności i dźwięku w systemie Windows. Skrypt odtwarza standardowy dźwięk Asteriska, a nie niestandardowy plik audio.