書式設定ファイルの概要
コマンド (コマンドレット、関数、スクリプト) によって返されるオブジェクトの表示形式は、書式設定ファイル (format.ps1xml
) を使用して定義されます。 これらのファイルの一部は、PowerShell によって提供されるコマンドによって返されるオブジェクトの表示形式を定義するために提供されます。たとえば、Get-Process
コマンドレットによって返される System.Diagnostics.Process オブジェクトなどです。 ただし、独自のカスタム書式設定ファイルを作成して既定の表示形式を上書きしたり、独自のコマンドによって返されるオブジェクトの表示を定義するカスタム書式設定ファイルを作成することもできます。
重要
書式設定ファイルは、パイプラインに返されるオブジェクトの要素を決定しません。 オブジェクトがパイプラインに返されると、一部が表示されていなくても、そのオブジェクトのすべてのメンバーを使用できます。
PowerShell では、これらの書式設定ファイル内のデータを使用して、表示される内容と表示されるデータの書式設定方法を決定します。 表示されるデータには、オブジェクトのプロパティやスクリプトの値を含めることができます。 スクリプトは、オブジェクトの 2 つのプロパティの値を追加し、合計をデータとして表示するなど、オブジェクトのプロパティから直接使用できない値を表示する場合に使用されます。 表示されるデータの書式設定は、表示するオブジェクトのビューを定義することによって行われます。 オブジェクトごとに 1 つのビューを定義することも、複数のオブジェクトに対して 1 つのビューを定義することも、同じオブジェクトに対して複数のビューを定義することもできます。 定義できるビューの数に制限はありません。
フォーマットファイルの一般的な機能
各書式設定ファイルでは、ファイルで定義されているすべてのビューで共有できる次のコンポーネントを定義できます。
データが列の幅よりも長い場合、テーブルの行に表示されるデータが次の行に表示されるかどうかなど、既定の構成設定。 これらの設定の詳細については、「TableRowEntry の要素ラップする」を参照してください。
書式設定ファイルの任意のビューで表示できるオブジェクトのセット。 これらのセット (選択セットと呼ばれます) の詳細については、「オブジェクト セットの定義」を参照してください。
書式設定ファイルのすべてのビューで使用できる一般的なコントロール。 コントロールを使用すると、データの表示方法を細かく制御できます。 コントロールの詳細については、「カスタム コントロールの定義」を参照してください。
ビューの書式設定
書式設定ビューでは、オブジェクトを表形式、リスト形式、ワイド形式、およびカスタム形式で表示できます。 ほとんどの場合、各書式設定定義は、ビューを記述する一連の XML タグによって記述されます。 各ビューには、ビューの名前、ビューを使用するオブジェクト、およびビューの要素 (テーブル ビューの列と行の情報など) が含まれます。
テーブル ビュー
1 つ以上の列のオブジェクトまたはスクリプト ブロック値のプロパティを一覧表示します。 各列は、オブジェクトまたはスクリプト値の 1 つのプロパティを表します。 オブジェクトのすべてのプロパティ、オブジェクトのプロパティのサブセット、またはプロパティとスクリプト値の組み合わせを表示するテーブル ビューを定義できます。 テーブルの各行は、返されたオブジェクトを表します。 テーブル ビューの作成は、オブジェクトを Format-Table
コマンドレットにパイプする場合とよく似ています。 このビューの詳細については、「テーブル ビューの をする」を参照してください。
リスト ビュー
1 つの列のオブジェクトまたはスクリプト値のプロパティを一覧表示します。 リストの各行には、オプションのラベルまたはプロパティ名の後にプロパティまたはスクリプトの値が表示されます。
リスト ビューの作成は、オブジェクトを Format-List
コマンドレットにパイプ処理するのとよく似ています。 このビューの詳細については、「リスト ビューの をする」を参照してください。
ワイド ビュー
1 つ以上の列のオブジェクトまたはスクリプト値の 1 つのプロパティを一覧表示します。 このビューのラベルまたはヘッダーはありません。 ワイド ビューの作成は、オブジェクトを Format-Wide
コマンドレットにパイプ処理するのとよく似ています。 このビューの詳細については、「ワイド ビュー」を参照してください。
カスタム ビュー
テーブル ビュー、リスト ビュー、またはワイド ビューの厳密な構造に準拠しないオブジェクト プロパティまたはスクリプト値のカスタマイズ可能なビューを表示します。 スタンドアロン のカスタム ビューを定義することも、テーブル ビューやリスト ビューなど、別のビューで使用されるカスタム ビューを定義することもできます。
カスタム ビューの作成は、オブジェクトを Format-Custom
コマンドレットにパイプ処理するのとよく似ています。 このビューの詳細については、「カスタム ビュー 参照してください。
ビューのコンポーネント
次の XML の例は、ビューの基本的な XML コンポーネントを示しています。 個々の XML 要素は、作成するビューによって異なりますが、ビューの基本的なコンポーネントはすべて同じです。
まず、各ビューには、ビューを参照するために使用されるユーザー フレンドリ名を指定する Name
要素があります。 ビューによって表示される .NET オブジェクトを定義する ViewSelectedBy
要素と、ビューを定義する コントロール 要素。
<ViewDefinitions>
<View>
<Name>NameOfView</Name>
<ViewSelectedBy>...</ViewSelectedBy>
<TableControl>...</TableControl>
</View>
<View>
<Name>NameOfView</Name>
<ViewSelectedBy>...</ViewSelectedBy>
<ListControl>...</ListControl>
<View>
<View>
<Name>NameOfView</Name>
<ViewSelectedBy>...</ViewSelectedBy>
<WideControl>...</WideControl>
<View>
<View>
<Name>NameOfView</Name>
<ViewSelectedBy>...</ViewSelectedBy>
<CustomControl>...</CustomControl>
</View>
</ViewDefinitions>
コントロール要素内で、1 つ以上の エントリ 要素を定義できます。 複数の定義を使用する場合は、各定義を使用する .NET オブジェクトを指定する必要があります。 通常、各コントロールに必要なエントリは 1 つだけで、定義は 1 つだけです。
<ListControl>
<ListEntries>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
ビューの各エントリ要素内で、そのビューによって表示される .NET プロパティまたはスクリプトを定義する要素 項目を指定します。
<ListItems>
<ListItem>...</ListItem>
<ListItem>...</ListItem>
<ListItem>...</ListItem>
</ListItems>
前の例に示すように、書式設定ファイルには複数のビューを含めることができます。ビューには複数の定義を含め、各定義には複数の項目を含めることができます。
テーブル ビューの例
次の例は、2 つの列を含むテーブル ビューの定義に使用される XML タグを示しています。
ViewDefinitions 要素は、書式設定ファイルで定義されているすべてのビューのコンテナー要素です。
View 要素は、特定のテーブル、リスト、ワイド、またはカスタム ビューを定義します。 各 View 要素内で、Name 要素はビューの名前を指定し、ViewSelectedBy 要素はビューを使用するオブジェクトを定義し、さまざまなコントロール要素 (次の例に示す TableControl
要素など) はビューの型を定義します。
<ViewDefinitions>
<View>
<Name>Name of View</Name>
<ViewSelectedBy>
<TypeName>Object to display using this view</TypeName>
<TypeName>Object to display using this view</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader>
<Width></Width>
</TableColumnHeader>
<TableColumnHeader>
<Width></Width>
</TableColumnHeader>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Header for column 1</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Header for column 2</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
</ViewDefinitions>
こちらもご覧ください
リスト ビュー の作成
テーブル ビュー の作成の
ワイド ビュー の作成
カスタム コントロールの作成 の
PowerShell の書式設定と種類のファイル の作成の
PowerShell