PowerShell でテーブルを作成する方法
- PowerShell でハッシュテーブルを使用してテーブルを作成する
-
DataTable
オブジェクトを使用して PowerShell でテーブルを作成する -
Format-Table
を使用して PowerShell でテーブルを作成する - 結論

データを明確かつ構造化された方法で整理し表示することは不可欠であり、テーブルはこれを達成するための広く認識された形式です。PowerShell では、他のプログラミング言語と同様に、テーブルを作成する能力は基本的です。
PowerShell でカスタムテーブルを作成するのは簡単なプロセスです。この記事では、PowerShell でテーブルを作成するためのさまざまな方法を探り、データの提示をより効果的にします。
PowerShell でハッシュテーブルを使用してテーブルを作成する
ハッシュテーブルは、各値をキーを使用して保存するコンパクトなデータ構造です。辞書または連想配列とも呼ばれます。
PowerShell では、@{}
構文を使用してハッシュテーブルを作成できます。キーと値は中括弧 {}
で囲まれています。
コード:
$hash = @{Name = "brian"; Age = "23"; Location = "UK" }
上記のコードでは、@
シンボルの後に中括弧 { }
を使用してハッシュテーブルを作成します。中括弧内には、セミコロンで区切られた 3つのキーと値のペアがあります。
各キーは文字列(Name
、Age
、Location
)で、続いて等号(=
)と対応する値があります。
したがって、この行は次のキーと値のペアを持つハッシュテーブルを作成します:
- キー
Name
の値"brian"
。 - キー
Age
の値"23"
。 - キー
Location
の値"UK"
。
変数 $hash
を使用してハッシュテーブルの内容を表示します。
$hash
出力:
Name Value
---- -----
Name brian
Age 23
Location UK
ハッシュテーブルは、キー用の 1 列と値用の別の列を持つ表形式で表示されます。
ただし、ハッシュテーブルは表示できるのが 2 列、つまりキー用と値用の列だけであることに注意する価値があります。要求が、異なる名前の列やより多くの列を含む場合、ハッシュテーブルは最も効果的な選択肢ではないかもしれません。
DataTable
オブジェクトを使用して PowerShell でテーブルを作成する
DataTable
オブジェクトは、PowerShell でテーブルを操作する際に非常に便利です。New-Object System.Data.Datatable
コマンドを使用して DataTable
を作成できます。
$TableName.Columns.Add("ColumnNames")
を使用して列を追加し、$TableName.Rows.Add("ValueToColumns")
を使用してテーブルに行を追加できます。
次の例では、System.Data.DataTable
クラスから新しい DataTable
($table
)オブジェクトを作成しました。
次に、DataTable
($table
)オブジェクトに 3つの列と 3つの行を追加します。[void]
は、これらのコマンドの出力を抑制するために使用されます。
最後に、変数 $table
を使用して DataTable
オブジェクトの内容を表示します。
コード:
$table = New-Object System.Data.DataTable
[void]$table.Columns.Add("Name")
[void]$table.Columns.Add("Age")
[void]$table.Columns.Add("Location")
[void]$table.Rows.Add("brian", "23", "UK")
[void]$table.Rows.Add("sam", "32", "Canada")
[void]$table.Rows.Add("eric", "25", "USA")
$table
出力:
Name Age Location
---- --- --------
brian 23 UK
sam 32 Canada
eric 25 USA
出力には、DataTable
オブジェクトを使用して生成されたテーブルが表示されます。この方法では、複数の列およびカスタム列名のテーブルを作成できますが、列とそれに対応する値の両方を手動で追加する必要があります。
Format-Table
を使用して PowerShell でテーブルを作成する
Format-Table
コマンドレットを使用して、コンソールでデータをテーブルとしてフォーマットおよび表示できます。テーブルオブジェクトを作成するわけではありませんが、コンソールでデータを表形式で提示するのに便利です。
コード:
Get-Process | Format-Table -Property Name, Id, CPU
上記の例では、Get-Process
を使用して実行中のプロセスに関する情報を取得します。Get-Process
の出力は、実行中のプロセスのリストです。
次に、Get-Process
の出力を Format-Table
コマンドレットにパイプし、フォーマットします。各プロセスの特定のプロパティをテーブル形式で表示したいと考えています。
次に、-Property
パラメーターを使用してテーブルに含めるプロパティを指定します。この場合、Name
、Id
、CPU
プロパティを含めたいと考えています。
出力:
Name Id CPU
---- -- ---
ACCStd 4084 11.15625
ACCSvc 2620
amdfendrsr 2596
AMDRSServ 10772 47.6875
出力には、実行中のプロセスに関する情報が表示されます。それぞれの行は異なるプロセスを表します。
すべてのプロセスが CPU
列に値を持つわけではないことに注意してください。一部のプロセスは CPU リソースを消費しないため、出力の CPU
列が空白のままになることがあります。
結論
PowerShell でテーブルを作成するのは簡単で多目的であり、さまざまなデータ提示のニーズに対応します。基本的なキーと値のペアにはハッシュテーブル、複数の列とカスタム名を持つ高度なテーブルには DataTable
オブジェクト、コンソールでデータをきれいに表示するには Format-Table
コマンドレットを使用できます。
これらの方法により、データの可読性と整理を向上させ、最終的には PowerShell スクリプトをより効果的かつユーザーフレンドリーにすることができます。