PowerShell で配列のすべてのオブジェクトで 1つのプロパティの値を選択する

Rohan Timalsina 2023年1月30日
  1. PowerShell で%{$_.Property} を使用して配列のすべてのオブジェクトで 1つのプロパティの値を選択する
  2. PowerShell で Select-Object を使用して配列のすべてのオブジェクトで 1つのプロパティの値を選択する
  3. PowerShell で $array.Property を使用して配列のすべてのオブジェクトで 1つのプロパティの値を選択する
  4. PowerShell で foreach ステートメントを使用して配列のすべてのオブジェクトで 1つのプロパティの値を選択する
PowerShell で配列のすべてのオブジェクトで 1つのプロパティの値を選択する

配列は、値またはオブジェクトのコレクションです。ほとんどのプログラミング言語には、基本的な機能として配列があります。配列は、複数のアイテムのグループを含む単なるデータ構造です。アイテムは、整数、文字列、オブジェクト、または配列自体にすることができます。単一の配列には、これらの項目の任意の組み合わせを含めることができます。各アイテムは、常に 0 から始まるインデックスに保存されます。配列の最初の項目はインデックス 0 に格納され、2 番目の項目は 1 に格納され、3 番目の項目は 2 に格納されます。

@() を使用して、PowerShell で配列を作成できます。

$data = @()

上記のコマンドは、値を指定していないため、空の配列を作成します。

Name および Age プロパティにオブジェクトを含む配列 $data を作成する例を次に示します。

$data = @(
    [pscustomobject]@{Name='James';Age='21'}
    [pscustomobject]@{Name='David';Age='30'}
         )

Name プロパティと Age プロパティに異なる値を割り当てました。このチュートリアルでは、PowerShell の配列のすべてのオブジェクトで 1つのプロパティの値を選択する方法を説明します。

PowerShell で%{$_.Property} を使用して配列のすべてのオブジェクトで 1つのプロパティの値を選択する

これは、PowerShell で配列のすべてのオブジェクトの 1つのプロパティの値を選択する簡単な方法の 1つです。

$select = @($data | %{$_.Name})
$select

出力:

James
David

または、次のように%Name のみを使用できます。

$data | % Name

出力:

James
David

PowerShell で Select-Object を使用して配列のすべてのオブジェクトで 1つのプロパティの値を選択する

Select-Object コマンドレットは、オブジェクトまたはオブジェクトのセットの指定されたプロパティを選択します。一意のオブジェクト、指定された数のオブジェクト、または配列内の指定された位置にあるオブジェクトを選択するのに役立ちます。したがって、Select-Object を使用して、PowerShell の配列のすべてのオブジェクトの 1つのプロパティの値を選択できます。

$data | Select-Object -ExpandProperty Name

出力:

James
David

PowerShell で $array.Property を使用して配列のすべてのオブジェクトで 1つのプロパティの値を選択する

これは、PowerShell で配列のすべてのオブジェクトの 1つのプロパティの値を選択する最も簡単な方法です。

$data.Age

出力:

21
30

PowerShell で foreach ステートメントを使用して配列のすべてのオブジェクトで 1つのプロパティの値を選択する

ForEach ステートメントは、foreach ループとも呼ばれます。アイテムのコレクション内のすべてのアイテムをトラバースするために使用されます。これは、配列またはオブジェクトのコレクション内の一連の値をループするために使用される言語コマンドです。ForEach ループ内の配列内の各アイテムに対して 1つ以上のコマンドを実行できます。

$data.foreach('Age')

出力:

21
30

または、次のようにコマンドを実行できます。

$data.foreach({ $_.Age }) 

出力:

21
30

または、以下の foreach コマンドを使用して、PowerShell の配列のすべてのオブジェクトで 1つのプロパティの値を選択することもできます。

foreach($object in $data) { $object.Age}

出力:

21
30
著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - PowerShell Array