Windows 10で電源ケーブルの接続/切断アラートを取得する方法

電源ケーブルの接続または切断時にデスクトップにアラートを表示するには、Windows PowerShell で小さな監視スクリプトを実行します。このスクリプトは、2 秒ごとにコンピューターの AC 電源状態をチェックし、状態が変化すると通知を表示し、標準の Windows アスタリスク音を再生します。Windows に付属の Windows PowerShell 5.1 と Windows Forms を使用するため、AutoHotkey を別途ダウンロードする必要はありません。スクリプトはサインインしているデスクトップ セッションで実行され続ける必要があり、コンピューターは既知の電源状態を報告している必要があります。

アラートが検出できるもの

スクリプトは と読みます。Microsoft は、、 、 のSystemInformation.PowerStatus.PowerLineStatus3 つの可能な値をドキュメントに記載しています。ラップトップでは、通常、オンラインは外部 AC 電源が接続されていることを意味し、オフラインはシステムがバッテリーで動作していることを意味します。コンピューターが不明を報告する場合、スクリプトは推測せずに沈黙します。SystemInformation.PowerStatusおよびPowerLineStatus の値については、 Microsoft のドキュメントを参照してください。OnlineOfflineUnknown

これは、交流電源とバッテリー電源の切り替えを検出します。バッテリーが充電中かどうかは報告せず、Windowsがシャットダウンしている間は通知できません。2秒ごとにチェックを行うため、チェックの間にごくわずかな変化が生じる場合があります。コンピューターがスリープ状態になった場合、復帰後に変化が検出されるのは、スクリプトが最後に検出した状態と報告された状態が異なる場合のみです。

PowerShellスクリプトを作成する

  1. メモ帳を開き、以下のスクリプト全体を貼り付けてください。
  2. ファイル > 名前を付けて保存を選択します。ドキュメントフォルダに保存しますPowerCableAlerts.ps1。ファイルの種類を「すべてのファイル (*.*)」に設定すると、メモ帳が隠し拡張子を追加しなくなります.txt。
  3. 以下の手順には、通常のWindows PowerShellアプリを使用してください。サンプルではWindowsフォームを使用しており、これはWindows PowerShell 5.1で利用可能です。
PowerCableAlerts.ps1 ファイルが開かれたメモ帳ウィンドウと、電源状態アラートスクリプトの説明コメント
スクリプトをメモ帳で.ps1ファイルとして保存してください。
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()
}

最初のステータス読み取り値は基準値として使用されるため、スクリプトは開始時に既に確立されていた接続については通知しません。後からの変更があった場合に通知します。通知にはWindowsフォームNotifyIconコンポーネントとそのShowBalloonTipメソッドが使用されます。Windowsは設定に基づいて通知の表示時間を調整できます。MicrosoftのNotifyIconの概要とShowBalloonTipのリファレンスを参照してください。

実行して両方のアラートをテストしてください

  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. 「スタート」から「タスクスケジューラ」を検索し、 「基本タスクの作成」を選択します。
  2. タスク名を「電源ケーブル警告」とします。トリガーを「ログオン時」に設定し、アクションとして「プログラムの開始」を選択します。
  3. プログラム/スクリプトには、と入力しますpowershell.exe。引数の追加には、以下を入力し、をYourNameWindowsユーザーフォルダーの名前に置き換えます。
    -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Users\YourName\Documents\PowerCableAlerts.ps1"
  4. ウィザードが完了したら、タスクのプロパティを開き、「ユーザーがログオンしているときのみ実行する」を選択します。これにより、スクリプトはデスクトップセッション内に保持され、通知を表示できるようになります。一度実行してテストした後、サインアウトして再度サインインし、自動的に起動することを確認してください。
タスクスケジューラで「ログオン時」トリガーを選択した基本タスクウィザードを作成します。
ウォッチャーがデスクトップセッション開始時に起動するように、ログオントリガーを選択してください。

自動アラートを停止するには、タスクスケジューラを開き、 「電源ケーブルアラート」を右クリックして「無効にする」を選択します。現在実行中のスケジュール済みインスタンスを終了するには、そのタスクの「終了」を選択します。一時的に停止するだけであれば、タスクを無効にするだけで十分です。再度有効にするまで、次回のサインイン時には起動しません。

通知が表示されない場合

  • 「設定」>「システム」>「通知とアクション」を確認してください。通知をオンにし、フォーカスアシストがバナーを非表示にしていないことを確認してください。バナーが消えた後も、アクションセンターに通知が残っている場合があります。
  • スクリプトがまだ実行中であることを確認してください。手動で起動したスクリプトは、PowerShell ウィンドウを閉じると終了します。スケジュールされたインスタンスの場合は、タスク スケジューラでタスクの状態を確認してください。
  • 電源プラグを抜き差ししてもアラートが表示されない場合、デバイスはUnknown電力線の状態を復元している可能性があります。このAPIはWindowsがハードウェアから受信した状態を報告するため、その状態が利用できない場合、スクリプトで信頼性の高い接続/切断アラートを作成することはできません。
  • ポップアップが表示されるものの音が鳴らない場合は、Windowsの音量とサウンドの設定を確認してください。このスクリプトは、カスタムオーディオファイルではなく、標準のAsteriskサウンドを再生します。

Windows 10 のサポート:マイクロソフトは、2025 年 10 月 14 日をもって Windows 10 の通常サポートを終了しました。オペレーティングシステム自体は引き続き動作しますが、通常のセキュリティ更新プログラムは提供されなくなります。サポート対象外の Windows バージョンに関するマイクロソフトのサポートガイダンスをご確認ください。

コメントを残す

FotoSketcherで写真を絵画、スケッチ、漫画に変換

FotoSketcherで写真を絵画、スケッチ、漫画に変換

FotoSketcher Studioを使えば、写真を絵画、鉛筆画、漫画に変換できます。エフェクトの選択方法、プレビューの調整方法、作品の保存方法を学びましょう。

オーディオ識別ツールで音声ファイルを詳細に分析・識別する

オーディオ識別ツールで音声ファイルを詳細に分析・識別する

オーディオ識別子がビットレート、エンコーダー、タグについて何を明らかにするのか、従来のワークフローがどのように機能するのか、そして現在利用可能なツールの中で、ファイルの検査や楽曲の識別に使えるものはどれなのかを学びましょう。

My Photo Index:Windows用オープンソース写真整理ツール

My Photo Index:Windows用オープンソース写真整理ツール

My Photo Indexは、ローカル画像のタグ付け、評価、閲覧を行うための、Windows向けの旧来の写真カタログツールです。その機能、互換性の制限、および現在もサポートされている代替ツールについてご確認ください。

Attribute Changerを使用してファイルとフォルダの属性、日付、時刻を変更する

Attribute Changerを使用してファイルとフォルダの属性、日付、時刻を変更する

Attribute Changerを使用して、Windowsファイルの属性とタイムスタンプを編集したり、JPEG EXIF写真の日付を更新したり、バッチ変更を安全にプレビューしたりする方法を学びましょう。

Windows 10で各モニターに異なる壁紙を設定する方法

Windows 10で各モニターに異なる壁紙を設定する方法

Windows 10の各モニターに個別の壁紙を設定し、ディスプレイを識別し、画像のフィットを調整し、モニターの選択肢が見つからない場合のトラブルシューティングを行います。

pViewer:最小限の画像ビューアとマンガ&コミックリーダー

pViewer:最小限の画像ビューアとマンガ&コミックリーダー

pViewerの機能、写真モードとコミックモードの仕組み、ダウンロードすべきWindows版、そして旧バージョンと改訂版の違いについて学びましょう。

NeoDownloader:パラメータ設定とウェブサイトからの画像の一括ダウンロード

NeoDownloader:パラメータ設定とウェブサイトからの画像の一括ダウンロード

NeoDownloaderプロジェクトの作成方法、クロール範囲の選択方法、画像フィルタと保存先の設定方法、バッチダウンロードの確認方法を学びましょう。

Windows 7および8でホットキーを使って次のデスクトップ背景に切り替える方法

Windows 7および8でホットキーを使って次のデスクトップ背景に切り替える方法

Windows 7または8用のスライドショーを設定し、簡単なVBScriptショートカットを作成して、キーボードショートカットキーを割り当てて次の壁紙に進めるようにします。

XnConvert:エフェクトの適用と画像フォーマットの一括変換

XnConvert:エフェクトの適用と画像フォーマットの一括変換

XnConvertを使えば、エフェクトの適用、写真のリサイズ、画像フォーマットの一括変換が可能です。出力設定の選択、編集内容のプレビュー、オリジナル画像の保護も行えます。

PickMeApp: 保存された設定でWindowsプログラムを転送する

PickMeApp: 保存された設定でWindowsプログラムを転送する

PickMeAppを使って、インストール済みのWindowsアプリケーションを別のPCに移行しましょう。TAPパッケージの仕組み、設定の取得方法、転送できない可能性のある項目について学びます。