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
、ファイル オブジェクトを一覧に表示します。