about_Objects

簡単な説明

PowerShell のオブジェクトに関する重要な情報を提供します。

詳細な説明

PowerShell で実行するすべてのアクションは、オブジェクトのコンテキスト内で発生します。 あるコマンドから次のコマンドにデータが移動すると、1 つ以上の識別可能なオブジェクトとして移動します。 オブジェクトは、アイテムを表すデータのコレクションです。 オブジェクトは、オブジェクト型、そのメソッド、およびプロパティの 3 種類のデータで構成されます。

型、メソッド、およびプロパティ

オブジェクト型は、オブジェクトの種類を通知します。 たとえば、ファイルを表すオブジェクトは FileInfo オブジェクトです。

オブジェクト メソッドは、オブジェクトに対して実行できるアクションです。 たとえば、 FileInfo オブジェクトには、ファイルのコピーに使用できる CopyTo メソッドがあります。

オブジェクトのプロパティには、オブジェクトに関する情報が格納されます。 たとえば、FileInfo オブジェクトにはファイルが最近アクセスされた日時を格納する LastWriteTime プロパティがあります。

オブジェクトを操作する場合は、コマンドのメソッドとプロパティを使用して、アクションを実行し、データを管理できます。

Get-Member または組み込みメンバーを使用して、オブジェクトのプロパティとメソッドをpsobject検出できます。

パイプライン内のオブジェクト

コマンドがパイプラインで結合されると、オブジェクトとして情報が相互に渡されます。 最初のコマンドを実行すると、パイプラインの下にある 1 つ以上のオブジェクトが 2 番目のコマンドに送信されます。 2 番目のコマンドは、最初のコマンドからオブジェクトを受け取り、オブジェクトを処理してから、新しいオブジェクトまたは変更されたオブジェクトをパイプラインの次のコマンドに渡します。 これは、パイプライン内のすべてのコマンドが実行されるまで続行されます。

次の例は、あるコマンドから次のコマンドにオブジェクトを渡す方法を示しています。

Get-ChildItem C: | where { $_.PsIsContainer -eq $false } | Format-List

最初のコマンド Get-ChildItem C: は、ファイル システムのルート ディレクトリ内の各項目のファイルまたはディレクトリ オブジェクトを返します。 ファイル オブジェクトとディレクトリ オブジェクトは、パイプラインから 2 番目のコマンドに渡されます。

2 番目のコマンドwhere { $_.PsIsContainer -eq $false }では、すべてのファイル システム オブジェクトの PsIsContainer プロパティを使用して、PsIsContainer プロパティの値が False ($false) のファイルのみを選択します。 コンテナーであり、PsIsContainer プロパティの値が True ($true) のフォルダーは選択されません。

2 番目のコマンドは、ファイル オブジェクトのみを 3 番目のコマンドに渡し Format-List、ファイル オブジェクトを一覧に表示します。

関連項目