本日のお題は「Out-GridView」です。
このコマンドレットではなんとGUIっぽい画面が表示されます!!
特にプログラムしたわけでもないのに凄いですね~
・・・表示されるから何だって?
もちろん表示されるだけでなく、その表示された結果を操作することができます。
具体的にはGet-ChildItemにパイプラインでWhere-Objectを使った結果の中から任意のファイルのみを選択して実行することができます。
さらにGUIではその中でもフィルターや並べ替えもできるので、柔軟にファイル取得したい時などにもってこいだと思います。
以下は例です。
# イベントログの調査
Get-EventLog -LogName System -Newest 100 | Out-GridView
Out-GridViewの後ろに「 -PassThru 」を記述することで選択した箇所をパイプラインで渡すこともできます。
#ユーザー一覧から選択して有効化
Get-LocalUser | Out-GridView -PassThru | Enable-LocalUser
# 現在のフォルダの場所にあるtxtファイルを表示させ、任意のファイルの中身を取得
$local = Get-Location
Get-ChildItem -Path $local |
Where-Object { $_.Name -match ".txt$" } |
Out-GridView -PassThru |
ForEach-Object {
Write-Host "`n===== $($_.Name) =====" -ForegroundColor Cyan
Get-Content $_ -Encoding utf8
}

いかがでしょうか?
ちょっと使えそうかもという気になってきたのではないでしょうか。
通常ではファイル名や拡張子が決められていて固定のものしか処理されないようにコードを書かれると思いますが、Out-GridViewならではの利用方法もあると思います。
ぜひ活用して業務効率アップにつなげてみてください!
コメント