PowerShellを使っていると、コマンドの実行結果をより見やすく、直感的に確認したい場面があります。そんなときに便利なのが Out-GridView
コマンドです。Out-GridView
を使うと、結果をGUI(グラフィカルユーザーインターフェース)のテーブル形式で表示でき、ソートやフィルタリングも可能になります。本記事では、Out-GridView
の基本的な使い方から、実務で役立つ応用テクニックまでをわかりやすく解説します。
Out-GridViewとは?
Out-GridView
は、PowerShellで実行したコマンドの出力結果を、グリッド(表形式)のウィンドウで表示するためのコマンドレットです。Windows PowerShellの特徴的なGUI機能の一つで、視覚的に情報を確認したいときに非常に役立ちます。
たとえば、Get-Processコマンドの出力結果をそのまま Out-GridView
に渡すと、現在実行中のプロセス一覧がウィンドウ上に表示され、ユーザーは名前やCPU使用率でソートしたり、任意のキーワードでフィルターをかけたりできます。
Get-Process | Out-GridView
このように、通常のコンソール出力では見づらい情報を、見やすく操作しやすくするのが Out-GridView
の大きな利点です。
基本的な使い方
単純なコマンド出力を表示
以下のように、コマンド出力をそのまま Out-GridView
にパイプ(|
)で渡すことで、GUIで結果を表示できます。
Get-Service | Out-GridView
このコマンドでは、システム上のサービス一覧が表形式で表示されます。各列(サービス名、ステータスなど)は、クリックでソート可能。ウィンドウ上部には検索ボックスもあり、部分一致でのフィルタリングも簡単です。
選択機能付きOut-GridViewの活用法
Out-GridView
には、-PassThru
パラメータを付けることで、ユーザーが選択した項目だけを次の処理に渡すことができます。これにより、視覚的にデータを確認しながら処理対象を選ぶといったインタラクティブなスクリプトが実現できます。
例:プロセスを選択して終了する
Get-Process | Out-GridView -PassThru | Stop-Process
このスクリプトは、実行中のプロセス一覧を Out-GridView
で表示し、ユーザーが選択したプロセスだけを終了するものです。コマンド操作に不慣れなユーザーでも、安全に対象を選びながら作業できます。
応用:複数選択で処理を行う
Out-GridView
では、複数の項目をCtrlやShiftキーを使って選択できます。-PassThru
を使うと、選択されたすべてのオブジェクトが次の処理に流れるため、一括処理にも向いています。
例:複数サービスの状態を確認
$services = Get-Service | Out-GridView -PassThru
foreach ($svc in $services) {
Write-Output "$($svc.Name) の状態: $($svc.Status)"
}
ここでは、選択した複数のサービスの状態をループで出力しています。GUIでの選択とPowerShellの柔軟な処理を組み合わせることで、効率よくタスクをこなせます。
フィルタリングと並べ替えで作業効率UP
Out-GridView
のウィンドウでは、表の列名をクリックするだけで簡単に並べ替えができます。また、ウィンドウ上部にある検索ボックスにキーワードを入力することで、リアルタイムにフィルタリングが行われます。
たとえば、「Running」という文字を入れれば、ステータスが「Running」のサービスだけが表示されるようになります。こうした視覚的な操作により、PowerShellに不慣れな方でも直感的に扱えるのが魅力です。
使える場面の具体例
ユーザー一覧の確認と選択
Get-LocalUser | Out-GridView -PassThru | Enable-LocalUser
ローカルユーザーの一覧を表示して、選択したユーザーだけを有効化する処理です。大量のユーザー管理にも便利です。
イベントログの調査
Get-EventLog -LogName System -Newest 100 | Out-GridView
直近のイベントログを表形式で確認し、エラーだけをフィルターするなどの調査に使えます。
Out-GridViewの注意点と制限
- Windows PowerShell限定
Out-GridView
はWindows PowerShell(5.x系)で利用できる機能で、PowerShell 7以降ではサポートされていません(別途Microsoft.PowerShell.GraphicalTools
をインストールすれば一部代替可能です)。 - GUI表示に対応した環境が必要
サーバーなどでGUIが使えない環境では、Out-GridView
は機能しません。リモート環境などでは利用に注意が必要です。 - 大量データには不向き
数千件を超えるデータを表示すると動作が重くなることがあります。適切に絞り込みを行って使用するのがコツです。
PowerShell 7でOut-GridViewを使うには?
PowerShell 7では標準で Out-GridView
は提供されていませんが、代わりに以下のモジュールをインストールして使用できます。
Install-Module -Name Microsoft.PowerShell.GraphicalTools -Scope CurrentUser
その後、以下のように使用します。
Get-Process | Out-GridView
ただし、Windows環境でのみ動作し、macOSやLinuxでは利用できません。
まとめ
Out-GridView
は、PowerShellの出力をグラフィカルに扱いたいときにとても便利なコマンドレットです。特に業務で「データを確認してから処理をしたい」「一覧から選んで操作したい」といったニーズに応えることができ、作業の正確性や効率が格段に向上します。
PowerShellに不慣れな方でも、Out-GridView
を活用することで、視覚的にスクリプトの動きを把握しやすくなり、操作の幅が広がるでしょう。日々の管理作業に、ぜひ取り入れてみてください。