.NET Frameworkの静的メソッドを呼び出すことで、PowerShellから簡単にメッセージボックスを表示できます。
前提条件とアセンブリの読み込み
メッセージボックス(Windows Forms)を利用するには、事前にアセンブリを読み込む必要があります。
# アセンブリの読み込み Add-Type -Assembly System.Windows.Forms
メッセージボックスの主な使用例
ボタンの種類やアイコン、戻り値の受け取り方を含めた実行例です。
# 1. デフォルト([OK] ボタン)
$Ret = [System.Windows.Forms.MessageBox]::Show("メッセージ ボックスに [OK] ボタンを含めます。", "タイトル")
echo $Ret.ToString()
# 2. [OK] と [キャンセル] ボタン
$Ret = [System.Windows.Forms.MessageBox]::Show("メッセージ ボックスに [OK] ボタンと [キャンセル] ボタンを含めます。", "タイトル", [System.Windows.Forms.MessageBoxButtons]::OKCancel)
echo $Ret.ToString()
# 3. [はい] と [いいえ] ボタン
$Ret = [System.Windows.Forms.MessageBox]::Show("メッセージ ボックスに [はい] ボタンと [いいえ] ボタンを含めます。", "タイトル", [System.Windows.Forms.MessageBoxButtons]::YesNo)
echo $Ret.ToString()
# 4. [はい]、[いいえ]、[キャンセル] ボタン
$Ret = [System.Windows.Forms.MessageBox]::Show("ここにメッセージ", "タイトル", [System.Windows.Forms.MessageBoxButtons]::YesNoCancel)
echo $Ret.ToString()
# 5. アイコンとデフォルトボタンの指定例(情報アイコン、[OK] ボタン)
$Ret = [System.Windows.Forms.MessageBox]::Show("処理が完了しました。", "通知", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Information)
echo $Ret.ToString()
戻り値の判定方法
ユーザーがどのボタンをクリックしたかは、戻り値([System.Windows.Forms.DialogResult])を使って条件分岐できます。
Add-Type -Assembly System.Windows.Forms
$Ret = [System.Windows.Forms.MessageBox]::Show("続行しますか?", "確認", [System.Windows.Forms.MessageBoxButtons]::YesNo, [System.Windows.Forms.MessageBoxIcon]::Question)
if ($Ret -eq [System.Windows.Forms.DialogResult]::Yes) {
Write-Output "「はい」が選択されました。"
} else {
Write-Output "「いいえ」が選択されました。"
}
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月12日
- 変更冒頭の誤字(net framworkを静的メソッドを呼び出すことで使える)を修正しました。
- 追加メッセージボックスのアイコン表示やデフォルトボタンの指定方法、および選択結果の条件分岐例を追加しました。
