PowerShellのFormat-Table
コマンドは、MicrosoftExcelスプレッドシートと基本的に同様の方法でオブジェクトを表示します。 Microsoft Excelは、スプレッドシートビルダーがセルの内容の値に基づいてセルの表示形式を変更できるようにする条件付き書式機能を提供します。
PowerShellユーザーがFormat-Table
コマンドを使用して、オブジェクトのプロパティに条件付き書式ルールを追加できると非常に便利です。 そうすれば、 Status
プロパティを持つオブジェクトがあるとしましょう。 その特性は以下のように放出される可能性がGreen
その値がある場合Success
またはRed
プロパティの値である場合Failed
。
Name Status
---- ------
Step 1 Failed (Red)
Step 2 Success (Green)
たとえば、次のようにFormat-Table
コマンドにカスタムプロパティ指定子を追加できます。
Get-SomeObjects | Format-Table -Property Name, @{ Name = 'Status'; Color = 'Green'; Value = '^Success$' }
今日のPowerShellには、「計算されたプロパティ」を構築するための同様の構文がすでにあります。 同様の構文を利用して、データテーブルに色付きの式を作成できます。 この機能は、PowerShellベースのダッシュボードを構築し、コンソールでより便利な方法でデータを表示するのに役立ちます。
乾杯、
トレバーサリバン
間違いなく将来の機能強化ですが、これは素晴らしいことだと私は同意します。
Format-Custom
、 Format-List
、 Format-Wide
同上
今日これを望んでいる人のために、Ahmad Adel GadはTechNetのスクリプトセンターでソリューションWrite-PSObject
を提供しました。 https://gallery.technet.microsoft.com/scriptcenter/Format-Table-Colors-in-e0a4beac
条件付き書式については、例16B.01を参照してください: Write-PSObject $servers -MatchMethod Exact -Column * -Value $false -ValueForeColor Red;
このCmdLetで利用可能なオプションについては、いくつかの非常に優れた考えがあります。そのため、この拡張要求の良いインスピレーションの源になる可能性もあります。
最も参考になるコメント
Format-Custom
、Format-List
、Format-Wide
同上