about_Objects

適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

トピック

about_Objects

簡単な説明

Windows PowerShell® のオブジェクトについて重要な情報を提供します。

詳細な説明

Windows PowerShell でのすべてのアクションはオブジェクトのコンテキスト内で発生します。データは、1 つのコマンドから次のコマンドへと移動する際、1 つ以上の識別できるオブジェクトとして移動します。また、オブジェクトは、項目を表すデータの集合です。オブジェクトは、オブジェクトのタイプ、メソッドおよびプロパティという 3 種類のデータで構成されます。

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

オブジェクトのタイプはそれがどのような種類のオブジェクトであるかを表します。たとえば、ファイルを表すオブジェクトは FileInfo オブジェクトです。

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

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

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

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

複数のコマンドをパイプラインで組み合わせていると、情報はオブジェクトとしてやりとりされます。最初のコマンドが実行されると、2 番目のコマンドに 1 つ以上のオブジェクトがパイプラインを通じて送信します。2 番目のコマンドは最初のコマンドからのオブジェクトを受け取って処理した後、新しいオブジェクトまたは変更されたオブジェクトをパイプラインの次のコマンドに送信します。パイプライン内のすべてのコマンドが実行されるまで、これを繰り返します。

次の例では、1 つのコマンドから次のコマンドへとオブジェクトが渡される方法を示しています。

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

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

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

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

詳細情報の参照先

オブジェクトについて少し理解が進んだところで、about_Methods ヘルプ トピック でオブジェクト メソッドの見つけ方と使い方を、about_Properties トピックでオブジェクト プロパティの見つけ方と使い方を、そして Get-Member トピックでオブジェクト タイプの見つけ方を学習してください。

関連項目

about_Methods

about_Object_Creation

about_Properties

about_Pipelines

Get-Member