Formatierungsdatei: Übersicht

Das Anzeigeformat für die Objekte, die von Befehlen (Cmdlets, Funktionen und Skripts) zurückgegeben werden, wird mithilfe von Formatierungsdateien (format.ps1xml-Dateien) definiert. Einige dieser Dateien werden von PowerShell bereitgestellt, um das Anzeigeformat für die Von PowerShell bereitgestellten Befehle zurückgegebenen Objekte zu definieren, z. B. das vom Cmdlet zurückgegebene System.Diagnostics.Process-Objekt. Get-Process Sie können jedoch auch eigene benutzerdefinierte Formatierungsdateien erstellen, um die Standardanzeigeformate zu überschreiben, oder Sie können eine benutzerdefinierte Formatierungsdatei schreiben, um die Anzeige von Objekten zu definieren, die von Ihren eigenen Befehlen zurückgegeben werden.

Wichtig

Formatierungsdateien bestimmen nicht die Elemente eines Objekts, die an die Pipeline zurückgegeben werden. Wenn ein Objekt an die Pipeline zurückgegeben wird, sind alle Member dieses Objekts verfügbar, auch wenn einige nicht angezeigt werden.

PowerShell verwendet die Daten in diesen Formatierungsdateien, um zu bestimmen, was angezeigt wird und wie die angezeigten Daten formatiert werden. Die angezeigten Daten können die Eigenschaften eines Objekts oder den Wert eines Skripts enthalten. Skripts werden verwendet, wenn Sie einen Wert anzeigen möchten, der nicht direkt über die Eigenschaften eines Objekts verfügbar ist, z. B. das Hinzufügen des Werts von zwei Eigenschaften eines Objekts und das anschließende Anzeigen der Summe als Datenteil. Die Formatierung der angezeigten Daten erfolgt durch Definieren von Ansichten für die Anzuzeigenden Objekte. Sie können eine einzelne Ansicht für jedes Objekt, eine einzelne Ansicht für mehrere Objekte oder mehrere Ansichten für dasselbe Objekt definieren. Es gibt keine Beschränkung für die Anzahl der Ansichten, die Sie definieren können.

Allgemeine Funktionen der Formatierung von Dateien

Jede Formatierungsdatei kann die folgenden Komponenten definieren, die für alle durch die Datei definierten Ansichten freigegeben werden können:

  • Standardkonfigurationseinstellung, z. B. ob die in den Tabellenzeilen angezeigten Daten in der nächsten Zeile angezeigt werden, wenn die Daten länger als die Breite der Spalte sind. Weitere Informationen zu diesen Einstellungen finden Sie unter Wrap-Element für TableRowEntry.

  • Sätze von -Objekten, die von allen Ansichten der Formatierungsdatei angezeigt werden können. Weitere Informationen zu diesen Sätzen (als Auswahlsätze bezeichnet) finden Sie unter Definieren von Objektsätzen.

  • Allgemeine Steuerelemente, die von allen Ansichten der Formatierungsdatei verwendet werden können. Mit Steuerelementen können Sie die Anzeige von Daten feiner steuern. Weitere Informationen zu Steuerelementen finden Sie unter Definieren von benutzerdefinierten Steuerelementen.

Formatieren von Ansichten

Formatierungsansichten können Objekte in einem Tabellenformat, Listenformat, Breitformat und benutzerdefiniertem Format anzeigen. In den meisten Teilen wird jede Formatierungsdefinition durch eine Reihe von XML-Tags beschrieben, die die Sicht beschreiben. Jede Sicht enthält den Namen der Sicht, die Objekte, die die Sicht verwenden, und die Elemente der Sicht, z. B. die Spalten- und Zeileninformationen für eine Tabellenansicht.

Tabellenansicht

Listet die Eigenschaften eines Objekts oder eines Skriptblockwerts in einer oder mehreren Spalten auf. Jede Spalte stellt eine einzelne Eigenschaft des -Objekts oder einen Skriptwert dar. Sie können eine Tabellenansicht definieren, die alle Eigenschaften eines Objekts, eine Teilmenge der Eigenschaften eines Objekts oder eine Kombination aus Eigenschaften und Skriptwerten anzeigt. Jede Zeile der Tabelle stellt ein zurückgegebenes -Objekt dar. Das Erstellen einer Tabellenansicht ähnelt sehr dem, wenn Sie ein Objekt an das Format-Table Cmdlet weiterleiten. Weitere Informationen zu dieser Sicht finden Sie unter Tabellenansicht.

Listenansicht

Listet die Eigenschaften eines Objekts oder eines Skriptwerts in einer einzelnen Spalte auf. Jede Zeile der Liste zeigt eine optionale Bezeichnung oder den Eigenschaftennamen gefolgt vom Wert der Eigenschaft oder des Skripts an. Das Erstellen einer Listenansicht ähnelt dem Weiterleiten eines Objekts an das Format-List Cmdlet. Weitere Informationen zu dieser Ansicht finden Sie unter Listenansicht.

Wide View

Listet eine einzelne Eigenschaft eines Objekts oder eines Skriptwerts in einer oder mehreren Spalten auf. Es gibt keine Bezeichnung oder Kopfzeile für diese Ansicht. Das Erstellen einer Breitenansicht ähnelt dem Weiterleiten eines Objekts an das Format-Wide Cmdlet. Weitere Informationen zu dieser Ansicht finden Sie unter Wide View.

Benutzerdefinierte Ansicht

Zeigt eine anpassbare Ansicht von Objekteigenschaften oder Skriptwerten an, die nicht der festen Struktur von Tabellenansichten, Listenansichten oder Breitenansichten entspricht. Sie können eine eigenständige benutzerdefinierte Ansicht definieren, oder Sie können eine benutzerdefinierte Ansicht definieren, die von einer anderen Sicht verwendet wird, z. B. einer Tabellenansicht oder Listenansicht. Das Erstellen einer benutzerdefinierten Ansicht ähnelt dem Weiterleiten eines Objekts an das Format-Custom Cmdlet. Weitere Informationen zu dieser Ansicht finden Sie unter Benutzerdefinierte Ansicht.

Komponenten einer Ansicht

Die folgenden XML-Beispiele zeigen die grundlegenden XML-Komponenten einer Sicht. Die einzelnen XML-Elemente variieren je nachdem, welche Ansicht Sie erstellen möchten, aber die grundlegenden Komponenten der Ansichten sind alle identisch.

Zu Beginn verfügt jede Ansicht über ein Name -Element, das einen benutzerfreundlichen Namen angibt, der verwendet wird, um auf die Sicht zu verweisen. ein ViewSelectedBy -Element, das definiert, welche .NET-Objekte von der Sicht angezeigt werden, und ein Steuerelementelement, das die Sicht definiert.

<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>

Innerhalb des Steuerelementelements können Sie ein oder mehrere Eintragselemente definieren. Wenn Sie mehrere Definitionen verwenden, müssen Sie angeben, welche .NET-Objekte die einzelnen Definitionen verwenden. In der Regel wird für jedes Steuerelement nur ein Eintrag mit nur einer Definition benötigt.

<ListControl>
  <ListEntries>
    <ListEntry>
      <EntrySelectedBy>...</EntrySelectedBy>
      <ListItems>...</ListItems>
    <ListEntry>
    <ListEntry>
        <EntrySelectedBy>...</EntrySelectedBy>
      <ListItems>...</ListItems>
    <ListEntry>
    <ListEntry>
        <EntrySelectedBy>...</EntrySelectedBy>
      <ListItems>...</ListItems>
    <ListEntry>
  </ListEntries>
</ListControl>

In jedem Eintragselement einer Sicht geben Sie die Elementelemente an, die die .NET-Eigenschaften oder -Skripts definieren, die von dieser Ansicht angezeigt werden.


<ListItems>
  <ListItem>...</ListItem>
  <ListItem>...</ListItem>
  <ListItem>...</ListItem>
</ListItems>

Wie in den vorherigen Beispielen gezeigt, kann die Formatierungsdatei mehrere Ansichten enthalten, eine Sicht kann mehrere Definitionen enthalten, und jede Definition kann mehrere Elemente enthalten.

Beispiel für eine Tabellenansicht

Das folgende Beispiel zeigt die XML-Tags, die zum Definieren einer Tabellenansicht verwendet werden, die zwei Spalten enthält. Das ViewDefinitions-Element ist das Containerelement für alle Ansichten, die in der Formatierungsdatei definiert sind. Das View-Element definiert die spezifische Tabelle, Liste, Breite oder benutzerdefinierte Sicht. Innerhalb jedes View-Elements gibt das Name-Element den Namen der Sicht an, das ViewSelectedBy-Element definiert die Objekte, die die Sicht verwenden, und die verschiedenen Steuerelementelemente (z. B. das TableControl im folgenden Beispiel gezeigte Element) definieren den Typ der Sicht.

<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>

Weitere Informationen

Erstellen einer Listenansicht

Erstellen einer Tabellenansicht

Erstellen einer breiten Ansicht

Erstellen von benutzerdefinierten Steuerelementen

Schreiben einer PowerShell-Formatierungs- und -Typendatei