PowerShellでシステム通知を表示する方法【モジュール不要・簡単】

PowerShellでシステム通知を表示する方法【モジュール不要・簡単】

Windows では、バルーン通知(トースト通知)を表示する方法はいくつかあります。一般的には BurntToast モジュールを使う方法が知られていますが、この方法は Windows 10 専用 であり、また 追加のモジュールをインストールする必要がある ため、環境によっては利用できません。

そこで、本記事では PowerShell の標準機能のみ を使って、System.Windows.Forms.NotifyIcon を利用し、バルーン通知を表示する方法を詳しく解説します。Visual Studio のインストールも不要で、どの Windows 環境でも実行できます。


✅ PowerShell でバルーン通知を表示する方法

PowerShell には System.Windows.Forms という .NET Framework のライブラリがあり、その中に NotifyIcon という通知用のコンポーネントが含まれています。これを活用することで、簡単にバルーン通知を表示できます。

🔹 バルーン通知の基本スクリプト

まずは、最も基本的なバルーン通知を表示するスクリプトを紹介します。

# .NET の Windows Forms をロード
Add-Type -AssemblyName System.Windows.Forms

# NotifyIcon オブジェクトを作成
$notify = New-Object System.Windows.Forms.NotifyIcon
$notify.Icon = [System.Drawing.SystemIcons]::Information  # 情報アイコンを設定
$notify.BalloonTipTitle = "通知タイトル"
$notify.BalloonTipText = "これはPowerShellのバルーン通知です。"
$notify.Visible = $true  # アイコンをタスクトレイに表示

# バルーンを表示(ミリ秒単位で表示時間を指定)
$notify.ShowBalloonTip(5000)  # 5秒間表示

# アイコンを消す(不要なら削除)
Start-Sleep -Seconds 6
$notify.Dispose()

このスクリプトを PowerShell で実行すると、タスクバーの通知エリア(システムトレイ)に 情報アイコン付きのバルーン通知 が表示されます。


✅ バルーン通知のカスタマイズ

上記の基本スクリプトを少し拡張し、カスタマイズ可能なスクリプトを作成してみましょう。

🔹 カスタムバルーン通知

以下のスクリプトでは、通知タイトル、メッセージ、アイコン、表示時間 を自由に指定できます。

param (
    [string]$Title = "PowerShell通知",
    [string]$Message = "これはカスタムバルーン通知です。",
    [int]$Duration = 5000  # 表示時間(ミリ秒)
)

# Windows Forms をロード
Add-Type -AssemblyName System.Windows.Forms

# NotifyIcon オブジェクトを作成
$notify = New-Object System.Windows.Forms.NotifyIcon
$notify.Icon = [System.Drawing.SystemIcons]::Information  # アイコン(変更可能)
$notify.BalloonTipTitle = $Title
$notify.BalloonTipText = $Message
$notify.Visible = $true

# バルーンを表示
$notify.ShowBalloonTip($Duration)

# 指定時間後にアイコンを消す
Start-Sleep -Milliseconds ($Duration + 1000)
$notify.Dispose()

💡 スクリプトの実行例

PowerShell で以下のように実行すると、カスタムメッセージを表示できます。

powershell -File "balloon.ps1" -Title "システム警告" -Message "ディスクの空き容量が少なくなっています。" -Duration 8000

🔹 アイコンを変更する

デフォルトでは 「情報アイコン」 を使用していますが、以下のように変更できます。

$notify.Icon = [System.Drawing.SystemIcons]::Warning  # 警告アイコン

利用できるアイコン:

  • [System.Drawing.SystemIcons]::Information(情報)
  • [System.Drawing.SystemIcons]::Warning(警告)
  • [System.Drawing.SystemIcons]::Error(エラー)

✅ スケジュールで定期的に通知を送る

例えば、1時間ごとにリマインダーを送る ような使い方も可能です。
Windows のタスクスケジューラを使えば、自動実行できます。

🔹 タスクスケジューラで PowerShell スクリプトを定期実行

  1. タスクスケジューラを開くWin + Rtaskschd.msc
  2. 「タスクの作成」 をクリック
  3. 「全般」タブ
    • 名前: PowerShell通知
    • 実行時に最上位の特権を使用する(チェック)
  4. 「トリガー」タブ
    • 新規 → 「毎時」 → 60分ごとに設定
  5. 「操作」タブ
    • 新規 → プログラムの開始
    • プログラム/スクリプト: powershell.exe
    • 引数の追加: powershellコピーする編集する-ExecutionPolicy Bypass -File "C:\Scripts\balloon.ps1" -Title "リマインダー" -Message "1時間経過しました。"
  6. 「OK」を押してタスクを保存

これで、1時間ごとにバルーン通知が表示されるようになります。


✅ まとめ

BurntToast を使わずに PowerShell の標準機能だけで Windows のバルーン通知を表示する方法 を紹介しました。
New-Object System.Windows.Forms.NotifyIcon を活用することで、モジュール不要で簡単に実装できる ので、どんな Windows 環境でも動作します。

Windows 10/11対応!PowerShellで『ゴミ箱』ショートカットをスタートメニューに作成する方法【完全ガイド】

Windows 10/11対応!PowerShellで『ゴミ箱』ショートカットをスタートメニューに作成する方法

Windowsのデスクトップをすっきりさせるために、ゴミ箱のアイコンを非表示にしている方は多いでしょう。しかし、その場合に「ゴミ箱」を素早く開きたいとき、スタートメニューやタスクバーからアクセスできると便利です。
この記事では、エクスプローラーで「ゴミ箱」を開くショートカットを作成する方法を詳しく解説します。PowerShellを利用した簡単な手順なので、初心者の方でも安心して行えます。


目次

  1. ゴミ箱のショートカットを作成するメリット
  2. PowerShellでショートカットを作成する準備
  3. PowerShellスクリプトの作成方法
  4. スクリプトの実行手順
  5. ショートカットのカスタマイズ
  6. よくある質問(FAQ)
  7. まとめ

1. ゴミ箱のショートカットを作成するメリット

🔹 スタートメニューやタスクバーから素早くアクセス

デスクトップを整理していても、スタートメニューに「ゴミ箱」へのショートカットがあれば、手間なくアクセスできます。

🔹 誤ってデスクトップから削除しても安心

「ゴミ箱」アイコンを非表示にした結果、ゴミ箱を開く手段が分からなくなるケースがありますが、ショートカットがあれば安心です。

🔹 ショートカットのカスタマイズが可能

アイコンの変更や名前のカスタマイズができるため、視覚的にも整理しやすくなります。


2. PowerShellでショートカットを作成する準備

PowerShellはWindowsに標準搭載されており、特別なインストールは不要です。
ただし、スクリプトの実行ポリシーを変更する必要があります。

🔹 実行ポリシーの確認

PowerShellを「管理者権限」で起動し、以下のコマンドを入力します。

Get-ExecutionPolicy

通常、Restricted(スクリプトの実行が禁止)が表示されるので、次のコマンドでRemoteSignedに変更します。

Set-ExecutionPolicy RemoteSigned

3. PowerShellスクリプトの作成方法

次に、以下のスクリプトをメモ帳などに貼り付けて保存します。

🔹 PowerShellスクリプト

# ショートカットの保存先
$shortcutPath = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\RecycleBin.lnk"

# WScript.Shell オブジェクトを使用してショートカットを作成
$WScriptShell = New-Object -ComObject WScript.Shell
$Shortcut = $WScriptShell.CreateShortcut($shortcutPath)

# ショートカットのプロパティ設定
$Shortcut.TargetPath = "explorer.exe"
$Shortcut.Arguments = "shell:RecycleBinFolder"
$Shortcut.IconLocation = "imageres.dll,49"  # ゴミ箱のアイコン
$Shortcut.Save()

Write-Output "ショートカットが作成されました: $shortcutPath"

🔹 保存手順

  1. メモ帳を開いてスクリプトを貼り付ける。
  2. 「ファイル」→「名前を付けて保存」を選択。
  3. ファイル名を RecycleBinShortcut.ps1 とし、ファイルの種類を「すべてのファイル」に変更。
  4. 保存場所はデスクトップやドキュメント内が分かりやすくておすすめです。

4. スクリプトの実行手順

  1. PowerShellを「管理者権限」で起動します。
  2. スクリプトが保存されたフォルダーに移動します。例:
cd C:\Users\<ユーザー名>\Desktop

次のコマンドを実行してスクリプトを起動します

.\RecycleBinShortcut.ps1

スクリプトが正常に実行されると、%APPDATA%\Microsoft\Windows\Start Menu\Programs 内に「RecycleBin.lnk」が作成されます。これで、スタートメニューから「ゴミ箱」を素早く開けるようになります。

5. ショートカットのカスタマイズ
ショートカットは以下の点でカスタマイズできます。

🔹 名前の変更
$shortcutPath = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\ゴミ箱への近道.lnk"

🔹 アイコンの変更

imageres.dll 以外のアイコンファイル(.ico)も指定できます

$Shortcut.IconLocation = "C:\Path\To\YourIcon.ico"

🔹 タスクバーへのピン留め

作成したショートカットを右クリックし、「タスクバーにピン留めする」を選択するだけです。

6. よくある質問(FAQ)

スクリプトがエラーで動作しません。どうすればいいですか?

→ 実行ポリシーが Restricted のままになっている可能性があります。以下のコマンドでポリシーを確認し、変更してください。

Set-ExecutionPolicy RemoteSigned

「ゴミ箱」以外のシステムフォルダーもショートカットにできますか?

→ はい、以下の例のように Arguments の値を変更することで可能です。

  • コントロールパネル: "shell:ControlPanelFolder"
  • ダウンロードフォルダー: "shell:Downloads"
  • ドキュメントフォルダー: "shell:Personal"

7. まとめ

デスクトップが散らかっている場合や、スタートメニューから素早く「ゴミ箱」を開きたいとき、今回の方法が非常に便利です。PowerShellスクリプトを活用すれば、数行のコードで簡単にショートカットを作成できます。

2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED