ワイド ビューを作成する

ワイド ビューには、表示されるオブジェクトごとに 1 つの値が表示されます。 表示される値には、.NET オブジェクト プロパティの値またはスクリプトの値を指定できます。 既定では、このビューにはラベルまたはヘッダーはありません。

ワイド ビューの表示

次の例は、出力がFormat-Wideコマンドレットにパイプされた場合にGet-Processコマンドレットによって返されるSystem.Diagnostics.Processオブジェクトを Windows PowerShell が表示する方法を示しています。 (既定では 、Get-Process コマンドレット はテーブル ビューを返します)。この例では、2 つの列を使用して、返される各オブジェクトのプロセスの名前を表示します。 オブジェクトの プロパティの名前は表示されません。プロパティの値だけが表示されます。

Get-Process | format-wide
AEADISRV                     agrsmsvc
Ati2evxx                     Ati2evxx
audiodg                      CCC
CcmExec                      communicator
Crypserv                     csrss
csrss                        DevDtct2
DM1Service                   dpupdchk
dwm                          DxStudio
EXCEL                        explorer
GoogleToolbarNotifier        GrooveMonitor
hpqwmiex                     hpservice
Idle                         InoRpc
InoRT                        InoTask
ipoint                       lsass
lsm                          MOM
MSASCui                      notepad
...                          ...

ワイド ビューの定義

次の XML は 、System.Diagnostics.Process オブジェクトのワイド ビュー スキーマを示しています。

View>
  <Name>process</Name>
  <ViewSelectedBy>
    <TypeName>System.Diagnostics.Process</TypeName>
  </ViewSelectedBy>
  <GroupBy>...</GroupBy>
  <Controls>...</Controls>
  <WideControl>
    <WideEntries>
      <WideEntry>
        <WideItem>
          <PropertyName>ProcessName</PropertyName>
        </WideItem>
      </WideEntry>
    </WideEntries>
  </WideControl>
</View>

ワイド ビューを定義するには、次の XML 要素を使用します。

  • View 要素 は、ワイド ビューの親要素です。 (これは、テーブル、リスト、およびカスタム コントロール ビューと同じ親要素です)。

  • Name 要素 は、ビューの名前を指定します。 この要素は、すべてのビューに必要です。

  • ViewSelectedBy 要素は、ビューを使用するオブジェクトを定義します。 この要素は必須です。

  • GroupBy 要素は 、オブジェクトの新しいグループが表示される時間を定義します。 特定のプロパティまたはスクリプトの値が変更されるたびに、新しいグループが開始されます。 この要素は省略可能です。

  • Controls 要素 は、ワイド ビューによって定義されるカスタム コントロールを定義します。 コントロールを使用すると、データの表示方法をさらに指定できます。 この要素は省略可能です。 ビューでは、独自のカスタム コントロールを定義できます。また、書式設定ファイル内の任意のビューで使用できる共通コントロールを使用できます。 カスタム コントロールの詳細については、「カスタム コントロールの作成 」を参照してください

  • WideControl 要素とその子要素は、ビューに表示される要素を定義します。 前の例では、ビューは System.Diagnostics.Process.Processname プロパティを表示するように設計されています。

単純なワイド ビューを定義する完全な書式設定ファイルの例については、「ワイド ビュー (基本)」 を参照してください

ワイド ビューの定義の提供

ワイド ビューでは、WideControl 要素の子要素を使用して、1 つ以上の 定義を提供 できます。 通常、ビューの定義は 1 つのみです。 次の例では 、System.Diagnostics.Process.Processname プロパティの値を表示する単一の定義がビューに表示されます。 ワイド ビューでは、プロパティの値またはスクリプトの値を表示できます (この例では示されません)。

<WideControl>
  <AutoSize/>
  <ColumnNumber></ColumnNumber>
  <WideEntries>
    <WideEntry>
      <WideItem>
        <PropertyName>ProcessName</PropertyName>
      </WideItem>
    </WideEntry>
  </WideEntries>
</WideControl>

次の XML 要素を使用して、ワイド ビューの定義を提供できます。

  • WideControl 要素とその子要素は、ビューに表示される要素を定義します。

  • AutoSize 要素は、データのサイズに基づいて列のサイズと列数を調整するかどうかを指定します。 この要素は省略可能です。

  • ColumnNumber 要素は、ワイド ビューに表示される列の数を指定します。 この要素は省略可能です。

  • WideEntries 要素は、ビューの定義を提供します。 ほとんどの場合、ビューの定義は 1 つのみです。 この要素は必須です。

  • WideEntry 要素は、ビューの定義を提供します。 少なくとも 1 つの WideEntry が 必要です。ただし、追加できる要素の数に上限はありません。 ほとんどの場合、ビューの定義は 1 つのみです。

  • EntrySelectedBy 要素は、特定の定義によって表示されるオブジェクトを指定します。 この要素は省略可能であり、異なるオブジェクトを表示する 複数の WideEntry 要素を定義する場合にのみ必要です。

  • WideItem 要素は、ビューによって表示されるデータを指定します。 他の種類のビューとは対照的に、ワイド コントロールでは 1 つの項目のみを表示できます。

  • PropertyName 要素は、ビューによって表示される値を持つプロパティを指定します。 プロパティまたはスクリプトを指定する必要がありますが、両方を指定することはできません。

  • ScriptBlock 要素は、ビューによって値が表示されるスクリプトを指定します。 スクリプトまたはプロパティを指定する必要がありますが、両方を指定することはできません。

  • FormatString 要素は、データの表示に使用されるパターンを指定します。 この要素は省略可能です。

ワイド ビュー定義を定義する完全な書式設定ファイルの例については、「ワイド ビュー (基本)」 を参照してください

ワイド ビューを使用するオブジェクトの定義

ワイド ビューを使用する .NET オブジェクトを定義するには、2 つの方法があります。 ViewSelectedBy要素を使用して、ビューのすべての定義で表示できるオブジェクトを定義できます。また、EntrySelectedBy要素を使用して、ビューの特定の定義によって表示されるオブジェクトを定義することもできます。 ほとんどの場合、ビューには定義が 1 つしか含めないので、オブジェクトは通常 、ViewSelectedBy 要素によって定義 されます。

次の例は 、ViewSelectedBy 要素と TypeName 要素を使用して、ワイド ビューで表示されるオブジェクトを定義 する方法を示 しています。 指定できる TypeName 要素の数に制限はありません。その順序は重要ではありません。

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <TypeName>System.Diagnostics.Process</TypeName>
  </ViewSelectedBy>
  <WideControl>...</WideControl>
</View>

次の XML 要素を使用して、ワイド ビューで使用されるオブジェクトを指定できます。

  • ViewSelectedBy 要素は、ワイド ビューで表示されるオブジェクトを定義します。

  • TypeName 要素は、ビューによって表示される .NET を指定します。 完全修飾 .NET 型名が必要です。 ビューには少なくとも 1 つの種類または選択セットを指定する必要がありますが、指定できる要素の最大数はありません。

完全な書式設定ファイルの例については、「ワイド ビュー (基本)」を参照してください

次の例では 、ViewSelectedBy 要素と SelectionSetName 要素を使用 します。 複数のビューを使用して表示されるオブジェクトの関連セットがある選択セットを使用します 。たとえば、同じオブジェクトに対してワイド ビューとテーブル ビューを定義する場合などです。 選択セットの作成方法の詳細については、「選択セットの 定義」を参照してください

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <SelectionSetName>.NET Type Set</SelectionSetName>
  </ViewSelectedBy>
  <WideControl>...</WideControl>
</View>

次の XML 要素を使用して、ワイド ビューで使用されるオブジェクトを指定できます。

  • ViewSelectedBy 要素は、ワイド ビューで表示されるオブジェクトを定義します。

  • SelectionSetName 要素は、ビューで表示できるオブジェクトのセットを指定します。 ビューには少なくとも 1 つの選択セットまたは種類を指定する必要がありますが、指定できる要素の最大数はありません。

次の例は、EntrySelectedBy 要素を使用して、ワイド ビューの特定の定義によって表示されるオブジェクトを 定義する方法を示 しています。 この要素を使用すると、オブジェクトの .NET 型名、オブジェクトの選択セット、または定義をいつ使用するか指定する選択条件を指定できます。 選択条件を作成する方法の詳細については、「データを表示するための条件の 定義」を参照してください

<WideEntry>
  <EntrySelectedBy>
    <TypeName>.NET Type</TypeName>
  </EntrySelectedBy>
</WideEntry>

次の XML 要素を使用して、ワイド ビューの特定の定義で使用されるオブジェクトを指定できます。

  • EntrySelectedBy 要素は、定義によって表示されるオブジェクトを定義します。

  • TypeName 要素は、定義によって表示される .NET を指定します。 この要素を使用する場合は、完全修飾 .NET 型名が必要です。 定義には、少なくとも 1 つの種類、選択セット、または選択条件を指定する必要がありますが、指定できる要素の最大数はありません。

  • SelectionSetName要素 (表示されません) は、この定義で表示できるオブジェクトのセットを指定します。 定義には、少なくとも 1 つの種類、選択セット、または選択条件を指定する必要がありますが、指定できる要素の最大数はありません。

  • SelectionCondition 要素(表示されません) は、この定義を使用するために存在する必要がある条件を指定します。 定義には、少なくとも 1 つの種類、選択セット、または選択条件を指定する必要がありますが、指定できる要素の最大数はありません。 選択条件の定義の詳細については、「データを表示するための 条件の定義」を参照してください

ワイド ビューでのオブジェクトのグループの表示

ワイド ビューで表示されるオブジェクトをグループに分割できます。 これは、特定のプロパティまたはスクリプトの値が変更されるたびに新Windows PowerShellグループを開始するグループのみを定義するという意味ではありません。 次の例では 、System.Serviceprocess.Servicecontroller.Servicetype プロパティの値が変更されるたびに新しいグループが開始されます。

<GroupBy>
  <Label>Service Type</Label>
  <PropertyName>ServiceType</PropertyName>
</GroupBy>

次の XML 要素は、グループの開始時間を定義するために使用されます。

  • GroupBy 要素は、新しいグループを開始するプロパティまたはスクリプトを定義し、グループの表示方法を定義します。

  • PropertyName 要素は、値が変更されるたびに新しいグループを開始するプロパティを指定します。 グループを開始するにはプロパティまたはスクリプトを指定する必要がありますが、両方を指定することはできません。

  • ScriptBlock 要素は、値が変更されるたびに新しいグループを開始するスクリプトを指定します。 グループを開始するにはスクリプトまたはプロパティを指定する必要がありますが、両方を指定することはできません。

  • Label要素は、各グループの先頭に表示されるラベルを定義します。 この要素で指定されたテキストに加えて、Windows PowerShell は新しいグループをトリガーした値を表示し、ラベルの前後に空白行を追加します。 この要素は省略可能です。

  • CustomControl要素は、データの表示に使用されるコントロールを定義します。 この要素は省略可能です。

  • CustomControlName要素は、データの表示に使用されるコモンコントロールまたはビューコントロールを指定します。 この要素は省略可能です。

グループを定義する完全な書式設定ファイルの例については、「 Wide ビュー (GroupBy)」を参照してください。

書式指定文字列の使用

書式設定文字列をワイドビューに追加して、データの表示方法をさらに詳細に定義できます。 次の例は、プロパティの値の書式設定文字列を定義する方法を示して StartTime います。

<WideItem>
  <PropertyName>StartTime</PropertyName>
  <FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</WideItem>

次の XML 要素を使用して、書式パターンを指定できます。

  • WideItem要素は、ビューによって表示されるデータを指定します。

  • PropertyName要素は、ビューによって表示される値を持つプロパティを指定します。 プロパティまたはスクリプトのどちらかを指定する必要がありますが、両方を指定することはできません。

  • FormatString要素は、プロパティまたはスクリプトの値をビューに表示する方法を定義する形式パターンを指定します。

  • ScriptBlock要素 (表示されません) は、ビューによって値が表示されるスクリプトを指定します。 スクリプトまたはプロパティのいずれかを指定する必要がありますが、両方を指定することはできません。

次の例では、 ToString スクリプトの値の書式を設定するためにメソッドが呼び出されています。 スクリプトは、オブジェクトの任意のメソッドを呼び出すことができます。 したがって、オブジェクトに、書式設定パラメーターを持つなどのメソッドがある場合、 ToString スクリプトはそのメソッドを呼び出してスクリプトの出力値を書式設定できます。

<WideItem>
  <ScriptBlock>
    [String]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
  </ScriptBlock>
</WideItem>

次の XML 要素を使用して、メソッドを呼び出すことができ ToString ます。

  • WideItem要素は、ビューによって表示されるデータを指定します。

  • ScriptBlock要素 (表示されません) は、ビューによって値が表示されるスクリプトを指定します。 スクリプトまたはプロパティのいずれかを指定する必要がありますが、両方を指定することはできません。

関連項目

ワイド ビュー (基本)

ワイド ビュー (グループ別)

PowerShell 書式設定ファイルを記述する