Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In einer Listenansicht werden Daten in einer einzelnen Spalte (in sequenzieller Reihenfolge) angezeigt. Die in der Liste angezeigten Daten können der Wert einer .NET-Eigenschaft oder des Werts eines Skripts sein.
Anzeige einer Listenansicht
Die folgende Ausgabe zeigt, wie Windows PowerShell die Eigenschaften von System.ServiceProcess.ServiceController--Objekten anzeigt, die vom Cmdlet Get-Service zurückgegeben werden. In diesem Beispiel wurden drei Objekte zurückgegeben, wobei jedes Objekt durch eine leere Zeile vom vorherigen Objekt getrennt ist.
Get-Service | Format-List
Name : AEADIFilters
DisplayName : Andrea ADI Filters Service
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32OwnProcess
Name : AeLookupSvc
DisplayName : Application Experience
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32ShareProcess
Name : AgereModemAudio
DisplayName : Agere Modem Call Progress Audio
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32OwnProcess
...
Definieren der Listenansicht
Der folgende XML-Code zeigt das Listenansichtsschema zum Anzeigen mehrerer Eigenschaften des System.ServiceProcess.ServiceController-Objekts. Sie müssen jede Eigenschaft angeben, die in der Listenansicht angezeigt werden soll.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.ServiceProcess.ServiceController</TypeName>
</ViewSelectedBy>
<ListControl>
<ListEntries>
<ListEntry>
<ListItems>
<ListItem>
<PropertyName>Name</PropertyName>
</ListItem>
<ListItem>
<PropertyName>DisplayName</PropertyName>
</ListItem>
<ListItem>
<PropertyName>Status</PropertyName>
</ListItem>
<ListItem>
<PropertyName>ServiceType</PropertyName>
</ListItem>
</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
</View>
Die folgenden XML-Elemente werden verwendet, um eine Listenansicht zu definieren:
Das View-Element ist das übergeordnete Element der Listenansicht. (Dies ist dasselbe übergeordnete Element für die Tabellen-, Breiten- und benutzerdefinierten Steuerelementansichten.)
Das Name--Element gibt den Namen der Ansicht an. Dieses Element ist für alle Ansichten erforderlich.
Das ViewSelectedBy-Element definiert die Objekte, die die Ansicht 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.
Das Controls-Element definiert die benutzerdefinierten Steuerelemente, die von der Listenansicht definiert werden. Mithilfe von Steuerelementen können Sie weiter angeben, wie die Daten angezeigt werden. Dieses Element ist optional. Eine Ansicht 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 ListControl-Element definiert, was in der Ansicht angezeigt wird und wie es formatiert ist. Ähnlich wie bei allen anderen Ansichten kann eine Listenansicht die Werte von Objekteigenschaften oder von Skript generierten Werten anzeigen.
Ein Beispiel für eine vollständige Formatierungsdatei, die eine einfache Listenansicht definiert, finden Sie unter Listenansicht (Basic).
Bereitstellen von Definitionen für die Listenansicht
Listenansichten können eine oder mehrere Definitionen mithilfe der untergeordneten Elemente des ListControl-Elements bereitstellen. In der Regel verfügt eine Ansicht nur über eine Definition. Im folgenden Beispiel stellt die Ansicht eine einzelne Definition bereit, die mehrere Eigenschaften des System.Diagnostics.Process--Objekts anzeigt. In einer Listenansicht kann der Wert einer Eigenschaft oder des Werts eines Skripts angezeigt werden (nicht im Beispiel dargestellt).
<ListControl>
<ListEntries>
<ListEntry>
<ListItems>
<ListItem>
<PropertyName>Name</PropertyName>
</ListItem>
<ListItem>
<PropertyName>DisplayName</PropertyName>
</ListItem>
<ListItem>
<PropertyName>Status</PropertyName>
</ListItem>
<ListItem>
<PropertyName>ServiceType</PropertyName>
</ListItem>
</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
Die folgenden XML-Elemente können verwendet werden, um Definitionen für eine Listenansicht bereitzustellen:
Das ListControl Element und seine untergeordneten Elemente definieren, was in der Ansicht angezeigt wird.
Das ListEntries--Element stellt die Definitionen der Ansicht bereit. In den meisten Fällen verfügt eine Ansicht nur über eine Definition. Dieses Element ist erforderlich.
Das ListEntry-Element stellt eine Definition der Ansicht bereit. Mindestens ein ListEntry- ist erforderlich; Es gibt jedoch keinen Grenzwert für die Anzahl der Elemente, die Sie hinzufügen können. In den meisten Fällen verfügt eine Ansicht nur über 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 ListEntry- Elemente definieren, die unterschiedliche Objekte anzeigen.
Das ListItems--Element gibt die Eigenschaften und Skripts an, deren Werte in den Zeilen der Listenansicht angezeigt werden.
Das ListItem--Element gibt eine Eigenschaft oder ein Skript an, dessen Wert in einer Zeile der Listenansicht angezeigt wird. Eine Listenansicht muss mindestens eine Eigenschaft oder ein Skript angeben. Es gibt keine maximale Anzahl von Zeilen, die angegeben werden können.
Das PropertyName-Element gibt die Eigenschaft an, deren Wert in der Zeile angezeigt wird. Sie müssen entweder eine Eigenschaft oder ein Skript angeben, aber sie können beides nicht angeben.
Das ScriptBlock--Element gibt das Skript an, dessen Wert in der Zeile angezeigt wird. Sie müssen entweder ein Skript oder eine Eigenschaft angeben, aber Sie können beides nicht angeben.
Das Label-Element gibt die Beschriftung an, die links neben dem Eigenschafts- oder Skriptwert in der Zeile angezeigt wird. Dieses Element ist optional. Wenn keine Bezeichnung angegeben ist, wird der Name der Eigenschaft oder des Skripts angezeigt. Ein vollständiges Beispiel finden Sie unter Listenansicht (Bezeichnungen).
Das ItemSelectionCondition--Element gibt eine Bedingung an, die vorhanden sein muss, damit die Zeile angezeigt werden kann. Weitere Informationen zum Hinzufügen von Bedingungen zur Listenansicht finden Sie unter Definieren von Bedingungen zum Anzeigen von Daten. Dieses Element ist optional.
Das FormatString-Element gibt ein Muster an, das zum Anzeigen des Werts der Eigenschaft oder des Skripts verwendet wird. Dieses Element ist optional.
Ein Beispiel für eine vollständige Formatierungsdatei, die eine einfache Listenansicht definiert, finden Sie unter Listenansicht (Basic).
Definieren der Objekte, die die Listenansicht verwenden
Es gibt zwei Möglichkeiten, zu definieren, welche .NET-Objekte die Listenansicht verwenden. Sie können das ViewSelectedBy-Element verwenden, um die Objekte zu definieren, die von allen Definitionen der Ansicht angezeigt werden können, oder Sie können das EntrySelectedBy-Element verwenden, um zu definieren, welche Objekte durch eine bestimmte Definition der Ansicht angezeigt werden. In den meisten Fällen weist eine Ansicht nur eine Definition auf, sodass Objekte normalerweise vom ViewSelectedBy-Element definiert werden.
Das folgende Beispiel zeigt, wie Sie die Objekte definieren, die von der Listenansicht mithilfe der ViewSelectedBy- und TypeName--Elemente angezeigt werden. Es gibt keine Beschränkung auf die Anzahl der TypeName- Elemente, die Sie angeben können, und deren Reihenfolge ist nicht signifikant.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.Diagnostics.Process</TypeName>
</ViewSelectedBy>
<ListControl>...</ListControl>
</View>
Die folgenden XML-Elemente können verwendet werden, um die Objekte anzugeben, die von der Listenansicht verwendet werden:
Das ViewSelectedBy-Element definiert, welche Objekte von der Listenansicht angezeigt werden.
Das TypeName-Element gibt das .NET-Objekt an, das von der Ansicht angezeigt wird. Der vollqualifizierte .NET-Typname ist erforderlich. Sie müssen mindestens einen Typ oder einen Auswahlsatz für die Ansicht 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 Listenansicht (Basic).
Im folgenden Beispiel werden die elemente ViewSelectedBy und SelectionSetName verwendet. Verwenden Sie Auswahlsätze, bei denen Sie über einen verwandten Satz von Objekten verfügen, die mit mehreren Ansichten angezeigt werden, z. B. wenn Sie eine Listenansicht 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>
<ListControl>...</ListControl>
</View>
Die folgenden XML-Elemente können verwendet werden, um die Objekte anzugeben, die von der Listenansicht verwendet werden:
Das ViewSelectedBy-Element definiert, welche Objekte von der Listenansicht angezeigt werden.
Das SelectionSetName-Element 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 Ansicht 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 mithilfe des EntrySelectedBy-Elements angezeigt werden, die mit einer bestimmten Definition der Listenansicht angezeigt werden. Mithilfe dieses Elements 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 einer Auswahlbedingungen finden Sie unter Definieren von Bedingungen zum Anzeigen von Daten.
<ListEntry>
<EntrySelectedBy>
<TypeName>.NET Type</TypeName>
</EntrySelectedBy>
</ListEntry>
Die folgenden XML-Elemente können verwendet werden, um die Objekte anzugeben, die von einer bestimmten Definition der Listenansicht verwendet werden:
Das EntrySelectedBy-Element definiert, welche Objekte durch die Definition angezeigt werden.
Das TypeName-Element gibt das .NET-Objekt 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 SelectionSetName-Element (nicht dargestellt) 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 SelectionCondition--Element (nicht dargestellt) gibt eine Bedingung an, die für diese Definition verwendet werden muss. 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 Listenansicht
Sie können die Objekte, die von der Listenansicht angezeigt werden, in Gruppen trennen. Dies bedeutet nicht, dass Sie eine Gruppe definieren, nur dass Windows PowerShell 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 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 der Wert ändert. Sie müssen eine Eigenschaft oder ein Skript angeben, um die Gruppe zu starten, aber Sie können beides nicht 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 beides nicht angeben.
Das Label-Element definiert eine Beschriftung, die am Anfang jeder Gruppe angezeigt wird. Neben dem durch dieses 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 Listenansicht (GroupBy).
Verwenden von Formatzeichenfolgen
Formatierungszeichenfolgen können einer Ansicht hinzugefügt werden, um weiter zu definieren, wie die Daten angezeigt werden. Das folgende Beispiel zeigt, wie Sie eine Formatierungszeichenfolge für den Wert der eigenschaft StartTime
definieren.
<ListItem>
<PropertyName>StartTime</PropertyName>
<FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</ListItem>
Die folgenden XML-Elemente können verwendet werden, um ein Formatmuster anzugeben:
Das ListItem--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 beides nicht 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 dargestellt) 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 beides nicht angeben.
Im folgenden Beispiel wird die ToString
-Methode aufgerufen, um den Wert des Skripts zu formatieren. Skripts können eine beliebige Methode eines Objekts aufrufen. Wenn ein Objekt über eine Methode wie ToString
verfügt, die Formatierungsparameter enthält, kann das Skript diese Methode aufrufen, um den Ausgabewert des Skripts zu formatieren.
<ListItem>
<ScriptBlock>
[string]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
</ScriptBlock>
</ListItem>
Das folgende XML-Element kann zum Aufrufen der ToString
-Methode verwendet werden:
Das ListItem--Element gibt die Daten an, die von der Ansicht angezeigt werden.
Das ScriptBlock-Element (nicht dargestellt) 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 beides nicht angeben.