Freigeben über


Formatierungsdatei: Übersicht

Das Anzeigeformat für die Objekte, die von Befehlen (Cmdlets, Funktionen und Skripts) zurückgegeben werden, werden mithilfe von Formatierungsdateien (format.ps1xml) definiert. Einige dieser Dateien werden von PowerShell bereitgestellt, um das Anzeigeformat für diese Objekte zu definieren, die von PowerShell bereitgestellten Befehlen zurückgegeben werden, z. B. das System.Diagnostics.Process--Objekt, das vom cmdlet Get-Process zurückgegeben wird. 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 Elemente 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 aus den 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 Datenelement. 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 definieren, eine einzelne Ansicht für mehrere Objekte definieren oder mehrere Ansichten für dasselbe Objekt definieren. Es gibt keine Beschränkung auf die Anzahl der Ansichten, die Sie definieren können.

Allgemeine Features von Formatierungsdateien

Jede Formatierungsdatei kann die folgenden Komponenten definieren, die für alle von der 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-.

  • Gruppen von Objekten, die von einer der Ansichten der Formatierungsdatei angezeigt werden können. Weitere Informationen zu diesen Sätzen (als Auswahlsätzebezeichnet) finden Sie unter Definieren von Objektgruppen.

  • Allgemeine Steuerelemente, die von allen Ansichten der Formatierungsdatei verwendet werden können. Mithilfe von Steuerelementen können Sie genauer steuern, wie Daten angezeigt werden. Weitere Informationen zu Steuerelementen finden Sie unter Definieren von benutzerdefinierten Steuerelementen.

Formatieren von Ansichten

Formatierungsansichten können Objekte in einem Tabellenformat, Einem Listenformat, einem breiten Format und einem benutzerdefinierten Format anzeigen. In den meisten Fällen wird jede Formatierungsdefinition durch eine Reihe von XML-Tags beschrieben, die die Ansicht beschreiben. Jede Ansicht enthält den Namen der Ansicht, die Objekte, die die Ansicht verwenden, und die Elemente der Ansicht, 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 eines Skriptwerts 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 Cmdlet Format-Table weiterleiten. Weitere Informationen zu dieser Ansicht 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 Beschriftung oder den Eigenschaftennamen gefolgt vom Wert der Eigenschaft oder des Skripts an. Das Erstellen einer Listenansicht ähnelt dem Anfügen eines Objekts an das cmdlet Format-List. Weitere Informationen zu dieser Ansicht finden Sie unter Listenansicht.

Breite Ansicht

Listet eine einzelne Eigenschaft eines Objekts oder eines Skriptwerts in einer oder mehreren Spalten auf. Für diese Ansicht gibt es keine Beschriftung oder Kopfzeile. Das Erstellen einer breiten Ansicht ähnelt dem Anfügen eines Objekts an das cmdlet Format-Wide. Weitere Informationen zu dieser Ansicht finden Sie unter Wide View.

Benutzerdefinierte Ansicht

Zeigt eine anpassbare Ansicht von Objekteigenschaften oder Skriptwerten an, die nicht der starren Struktur von Tabellenansichten, Listenansichten oder breiten Ansichten entsprechen. Sie können eine eigenständige benutzerdefinierte Ansicht definieren oder eine benutzerdefinierte Ansicht definieren, die von einer anderen Ansicht verwendet wird, z. B. einer Tabellenansicht oder Listenansicht. Das Erstellen einer benutzerdefinierten Ansicht ähnelt dem Anfügen eines Objekts an das cmdlet Format-Custom. Weitere Informationen zu dieser Ansicht finden Sie unter benutzerdefinierte Ansicht.

Komponenten einer Ansicht

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

Zunächst verfügt jede Ansicht über ein Name-Element, das einen benutzerfreundlichen Namen angibt, der zum Verweisen auf die Ansicht verwendet wird. ein ViewSelectedBy Element, das definiert, welche .NET-Objekte von der Ansicht angezeigt werden, und ein Steuerelement Element, das die Ansicht 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 jede Definition verwenden. Normalerweise ist nur ein Eintrag mit nur einer Definition für jedes Steuerelement erforderlich.

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

Innerhalb jedes Eintragselements einer Ansicht geben Sie das Element Elemente an, die die .NET-Eigenschaften oder Skripts definieren, die in 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 Ansicht kann mehrere Definitionen enthalten, und jede Definition kann mehrere Elemente enthalten.

Beispiel für eine Tabellenansicht

Das folgende Beispiel zeigt die XML-Tags, mit denen eine Tabellenansicht definiert wird, 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 Ansicht. Innerhalb jedes View-Elements gibt das Name Element den Namen der Ansicht an, das ViewSelectedBy-Element definiert die Objekte, die die Ansicht verwenden, und die verschiedenen Steuerelementelemente (z. B. das TableControl Element im folgenden Beispiel) definieren den Typ der Ansicht.

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

Siehe auch

Erstellen einer Listenansicht

Erstellen einer Tabellenansicht

Erstellen einer breiten Ansicht

Erstellen benutzerdefinierter Steuerelemente

Schreiben einer PowerShell-Formatierung und -Typendatei