Erstellen einer breiten Ansicht

In einer Breitenansicht wird für jedes angezeigte Objekt ein einzelner Wert angezeigt. Der angezeigte Wert kann der Wert einer .NET-Objekteigenschaft oder der Wert eines Skripts sein. Standardmäßig gibt es keine Bezeichnung oder Kopfzeile für diese Ansicht.

Eine Wide View-Anzeige

Das folgende Beispiel zeigt, wie Windows PowerShell das System.Diagnostics.Process-Objekt anzeigt, das vom Get-Process-Cmdlet zurückgegeben wird, wenn dessen Ausgabe an das Format-Wide-Cmdlet geleitet wird. (Standardmäßig gibt das Cmdlet Get-Process eine Tabellenansicht zurück.) In diesem Beispiel werden die beiden Spalten verwendet, um den Namen des Prozesses für jedes zurückgegebene Objekt anzuzeigen. Der Name der -Eigenschaft des Objekts wird nicht angezeigt, sondern nur der Wert der -Eigenschaft.

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

Definieren der Breitansicht

Der folgende XML-Code zeigt das Breitansichtsschema für das System.Diagnostics.Process-Objekt.

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>

Die folgenden XML-Elemente werden verwendet, um eine Breitansicht zu definieren:

  • Das View-Element ist das übergeordnete Element der Breitenansicht. (Dies ist dasselbe übergeordnete Element für die Tabellen-, Listen- und benutzerdefinierten Steuerelementansichten.)

  • Das Name-Element gibt den Namen der Sicht an. Dieses Element ist für alle Ansichten erforderlich.

  • Das ViewSelectedBy-Element definiert die Objekte, die die Sicht verwenden. Dieses Element ist erforderlich.

  • Das GroupBy-Element definiert, wann eine neue Gruppe von Objekten angezeigt wird. Eine neue Gruppe wird gestartet, wenn sich der Wert einer bestimmten Eigenschaft oder eines Bestimmten Skripts ändert. Dieses Element ist optional.

  • Die Controls-Elemente definieren die benutzerdefinierten Steuerelemente, die von der Breitansicht definiert werden. Mit Steuerelementen können Sie weiter angeben, wie die Daten angezeigt werden. Dieses Element ist optional. Eine Sicht kann eigene benutzerdefinierte Steuerelemente definieren oder allgemeine Steuerelemente verwenden, die von jeder Ansicht in der Formatierungsdatei verwendet werden können. Weitere Informationen zu benutzerdefinierten Steuerelementen finden Sie unter Erstellen von benutzerdefinierten Steuerelementen.

  • Das WideControl-Element und seine untergeordneten Elemente definieren, was in der Ansicht angezeigt wird. Im vorherigen Beispiel ist die Ansicht so konzipiert, dass sie die System.Diagnostics.Process.Processname-Eigenschaft anzeigt.

Ein Beispiel für eine vollständige Formatierungsdatei, die eine einfache Breitansicht definiert, finden Sie unter Wide View (Basic).

Bereitstellen von Definitionen für Die Breite Ansicht

Breitansichten können mithilfe der untergeordneten Elemente des WideControl-Elements eine oder mehrere Definitionen bereitstellen. In der Regel verfügt eine Sicht nur über eine Definition. Im folgenden Beispiel stellt die Sicht eine einzelne Definition bereit, die den Wert der System.Diagnostics.Process.Processname-Eigenschaft anzeigt. Eine Breitansicht kann den Wert einer Eigenschaft oder den Wert eines Skripts anzeigen (im Beispiel nicht gezeigt).

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

Die folgenden XML-Elemente können verwendet werden, um Definitionen für eine breite Ansicht bereitzustellen:

  • Das WideControl-Element und seine untergeordneten Elemente definieren, was in der Ansicht angezeigt wird.

  • Das AutoSize-Element gibt an, ob die Spaltengröße und die Anzahl der Spalten basierend auf der Größe der Daten angepasst werden. Dieses Element ist optional.

  • Das ColumnNumber-Element gibt die Anzahl der in der Breitansicht angezeigten Spalten an. Dieses Element ist optional.

  • Das WideEntries-Element stellt die Definitionen der Sicht bereit. In den meisten Fällen hat eine Sicht nur eine Definition. Dieses Element ist erforderlich.

  • Das WideEntry-Element stellt eine Definition der Sicht bereit. Mindestens ein WideEntry-Vorgang ist erforderlich. es gibt jedoch keinen maximalen Grenzwert für die Anzahl der Elemente, die Sie hinzufügen können. In den meisten Fällen hat eine Sicht nur eine Definition.

  • Das EntrySelectedBy-Element gibt die Objekte an, die von einer bestimmten Definition angezeigt werden. Dieses Element ist optional und wird nur benötigt, wenn Sie mehrere WideEntry-Elemente definieren, die verschiedene Objekte anzeigen.

  • Das WideItem-Element gibt die Daten an, die von der Ansicht angezeigt werden. Im Gegensatz zu anderen Ansichtstypen kann ein Breitsteuerelement nur ein Element anzeigen.

  • Das PropertyName-Element gibt die Eigenschaft an, deren Wert von der Ansicht angezeigt wird. Sie müssen entweder eine Eigenschaft oder ein Skript angeben, aber Sie können nicht beides angeben.

  • Das ScriptBlock-Element gibt das Skript an, dessen Wert von der Ansicht angezeigt wird. Sie müssen entweder ein Skript oder eine Eigenschaft angeben, aber Sie können nicht beides angeben.

  • Das FormatString-Element gibt ein Muster an, das zum Anzeigen der Daten verwendet wird. Dieses Element ist optional.

Ein Beispiel für eine vollständige Formatierungsdatei, die eine Breitansichtsdefinition definiert, finden Sie unter Wide View (Basic).

Definieren der Objekte, die die Breite Ansicht verwenden

Es gibt zwei Möglichkeiten, zu definieren, welche .NET-Objekte die Breitansicht verwenden. Sie können das ViewSelectedBy-Element verwenden, um die Objekte zu definieren, die von allen Definitionen der Sicht angezeigt werden können, oder Sie können das EntrySelectedBy-Element verwenden, um zu definieren, welche Objekte von einer bestimmten Definition der Sicht angezeigt werden. In den meisten Fällen verfügt eine Sicht nur über eine Definition, sodass Objekte in der Regel durch das ViewSelectedBy-Element definiert werden.

Das folgende Beispiel zeigt, wie die Objekte definiert werden, die von der Breitansicht mithilfe der ViewSelectedBy- und TypeName-Elemente angezeigt werden. Es gibt keine Beschränkung für die Anzahl der TypeName-Elemente, die Sie angeben können, und ihre Reihenfolge ist nicht signifikant.

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

Die folgenden XML-Elemente können verwendet werden, um die Objekte anzugeben, die von der Breitansicht verwendet werden:

  • Das ViewSelectedBy-Element definiert, welche Objekte von der Breitansicht angezeigt werden.

  • Das TypeName-Element gibt das .NET an, das von der Ansicht angezeigt wird. Der vollqualifizierte .NET-Typname ist erforderlich. Sie müssen mindestens einen Typ oder auswahlsatz für die Sicht angeben, es gibt jedoch keine maximale Anzahl von Elementen, die angegeben werden können.

Ein Beispiel für eine vollständige Formatierungsdatei finden Sie unter Wide View (Basic).

Im folgenden Beispiel werden die Elemente ViewSelectedBy und SelectionSetName verwendet. Verwenden Sie Auswahlsätze, bei denen Sie über einen verknüpften Satz von Objekten verfügen, die mit mehreren Ansichten angezeigt werden, z. B. wenn Sie eine Breitansicht und eine Tabellenansicht für dieselben Objekte definieren. Weitere Informationen zum Erstellen eines Auswahlsatzes finden Sie unter Definieren von Auswahlsätzen.

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

Die folgenden XML-Elemente können verwendet werden, um die Objekte anzugeben, die von der Breitansicht verwendet werden:

  • Das ViewSelectedBy-Element definiert, welche Objekte von der Breitansicht angezeigt werden.

  • Das Element SelectionSetName gibt einen Satz von -Objekten an, die von der Ansicht angezeigt werden können. Sie müssen mindestens einen Auswahlsatz oder -typ für die Sicht angeben, es gibt jedoch keine maximale Anzahl von Elementen, die angegeben werden können.

Im folgenden Beispiel wird gezeigt, wie die Objekte definiert werden, die von einer bestimmten Definition der Breitansicht mithilfe des EntrySelectedBy-Elements angezeigt werden. Mit diesem Element können Sie den .NET-Typnamen des Objekts, einen Auswahlsatz von Objekten oder eine Auswahlbedingung angeben, die angibt, wann die Definition verwendet wird. Weitere Informationen zum Erstellen von Auswahlbedingungen finden Sie unter Definieren von Bedingungen zum Anzeigen von Daten.

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

Die folgenden XML-Elemente können verwendet werden, um die Objekte anzugeben, die von einer bestimmten Definition der Breitansicht verwendet werden:

  • Das EntrySelectedBy-Element definiert, welche Objekte von der Definition angezeigt werden.

  • Das TypeName-Element gibt das .NET an, das von der Definition angezeigt wird. Bei Verwendung dieses Elements ist der vollqualifizierte .NET-Typname erforderlich. Sie müssen mindestens einen Typ, einen Auswahlsatz oder eine Auswahlbedingung für die Definition angeben, es gibt jedoch keine maximale Anzahl von Elementen, die angegeben werden können.

  • Das Element SelectionSetName (nicht angezeigt) gibt einen Satz von -Objekten an, die von dieser Definition angezeigt werden können. Sie müssen mindestens einen Typ, einen Auswahlsatz oder eine Auswahlbedingung für die Definition angeben, es gibt jedoch keine maximale Anzahl von Elementen, die angegeben werden können.

  • Das Element SelectionCondition (nicht gezeigt) gibt eine Bedingung an, die vorhanden sein muss, damit diese Definition verwendet werden kann. Sie müssen mindestens einen Typ, einen Auswahlsatz oder eine Auswahlbedingung für die Definition angeben, es gibt jedoch keine maximale Anzahl von Elementen, die angegeben werden können. Weitere Informationen zum Definieren von Auswahlbedingungen finden Sie unter Definieren von Bedingungen zum Anzeigen von Daten.

Anzeigen von Gruppen von Objekten in einer Breitenansicht

Sie können die Objekte, die von der Breitenansicht angezeigt werden, in Gruppen unterteilen. Dies bedeutet nicht, dass Sie eine Gruppe definieren, sondern nur, dass Windows PowerShell immer dann eine neue Gruppe startet, wenn sich der Wert einer bestimmten Eigenschaft oder eines Bestimmten Skripts ändert. Im folgenden Beispiel wird eine neue Gruppe gestartet, wenn sich der Wert der System.Serviceprocess.Servicecontroller.Servicetype-Eigenschaft ändert.

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

Die folgenden XML-Elemente werden verwendet, um zu definieren, wann eine Gruppe gestartet wird:

  • Das GroupBy-Element definiert die Eigenschaft oder das Skript, die bzw. das die neue Gruppe startet, und definiert, wie die Gruppe angezeigt wird.

  • Das PropertyName-Element gibt die Eigenschaft an, die eine neue Gruppe startet, wenn sich ihr Wert ändert. Sie müssen eine Eigenschaft oder ein Skript angeben, um die Gruppe zu starten, aber Sie können nicht beides angeben.

  • Das ScriptBlock-Element gibt das Skript an, das eine neue Gruppe startet, wenn sich der Wert ändert. Sie müssen ein Skript oder eine Eigenschaft angeben, um die Gruppe zu starten, aber Sie können nicht beides angeben.

  • Das Label-Element definiert eine Bezeichnung, die am Anfang jeder Gruppe angezeigt wird. Zusätzlich zum von diesem Element angegebenen Text zeigt Windows PowerShell den Wert an, der die neue Gruppe ausgelöst hat, und fügt vor und nach der Bezeichnung eine leere Zeile hinzu. Dieses Element ist optional.

  • Das CustomControl-Element definiert ein Steuerelement, das zum Anzeigen der Daten verwendet wird. Dieses Element ist optional.

  • Das CustomControlName-Element gibt ein allgemeines Steuerelement oder ein Ansichtssteuerelement an, das zum Anzeigen der Daten verwendet wird. Dieses Element ist optional.

Ein Beispiel für eine vollständige Formatierungsdatei, die Gruppen definiert, finden Sie unter Wide View (GroupBy).

Verwenden von Formatzeichenfolgen

Formatierungszeichenfolgen können einer Breitenansicht hinzugefügt werden, um weiter zu definieren, wie die Daten angezeigt werden. Das folgende Beispiel zeigt, wie eine Formatierungszeichenfolge für den Wert der -Eigenschaft definiert StartTime wird.

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

Die folgenden XML-Elemente können verwendet werden, um ein Formatmuster anzugeben:

  • Das WideItem-Element gibt die Daten an, die von der Ansicht angezeigt werden.

  • Das PropertyName-Element gibt die Eigenschaft an, deren Wert von der Ansicht angezeigt wird. Sie müssen entweder eine Eigenschaft oder ein Skript angeben, aber Sie können nicht beides angeben.

  • Das FormatString-Element gibt ein Formatmuster an, das definiert, wie die Eigenschaft oder der Skriptwert in der Ansicht angezeigt wird.

  • Das ScriptBlock-Element (nicht angezeigt) gibt das Skript an, dessen Wert von der Ansicht angezeigt wird. Sie müssen entweder ein Skript oder eine Eigenschaft angeben, aber Sie können nicht beides angeben.

Im folgenden Beispiel wird die ToString -Methode aufgerufen, um den Wert des Skripts zu formatieren. Skripts können jede Methode eines Objekts aufrufen. Wenn ein Objekt über eine Methode wie verfügt, ToString die Formatierungsparameter aufweist, kann das Skript diese Methode aufrufen, um den Ausgabewert des Skripts zu formatieren.

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

Das folgende XML-Element kann zum Aufrufen der -Methode verwendet ToString werden:

  • Das WideItem-Element gibt die Daten an, die von der Ansicht angezeigt werden.

  • Das ScriptBlock-Element (nicht angezeigt) gibt das Skript an, dessen Wert von der Ansicht angezeigt wird. Sie müssen entweder ein Skript oder eine Eigenschaft angeben, aber Sie können nicht beides angeben.

Weitere Informationen

Breite Ansicht (Basic)

Breite Ansicht (GroupBy)

Schreiben einer PowerShell-Formatierungsdatei