Overzicht voor opmaakbestanden
De weergave-indeling voor de objecten die worden geretourneerd door opdrachten (cmdlets, functies en scripts) worden gedefinieerd met behulp van opmaakbestanden (format.ps1xml
). Verschillende van deze bestanden worden geleverd door PowerShell om de weergave-indeling te definiëren voor die objecten die worden geretourneerd door powerShell-opdrachten, zoals het System.Diagnostics.Process object dat wordt geretourneerd door de Get-Process
cmdlet. U kunt echter ook uw eigen aangepaste opmaakbestanden maken om de standaardweergave-indelingen te overschrijven of u kunt een aangepast opmaakbestand schrijven om de weergave van objecten te definiëren die worden geretourneerd door uw eigen opdrachten.
Belangrijk
Het opmaken van bestanden bepaalt niet de elementen van een object dat wordt geretourneerd naar de pijplijn. Wanneer een object wordt geretourneerd naar de pijplijn, zijn alle leden van dat object beschikbaar, zelfs als sommige niet worden weergegeven.
PowerShell gebruikt de gegevens in deze opmaakbestanden om te bepalen wat er wordt weergegeven en hoe de weergegeven gegevens worden opgemaakt. De weergegeven gegevens kunnen de eigenschappen van een object of de waarde van een script bevatten. Scripts worden gebruikt als u een bepaalde waarde wilt weergeven die niet rechtstreeks beschikbaar is vanuit de eigenschappen van een object, zoals het toevoegen van de waarde van twee eigenschappen van een object en het weergeven van de som als een stukje gegevens. De opmaak van de weergegeven gegevens wordt uitgevoerd door weergaven te definiëren voor de objecten die u wilt weergeven. U kunt één weergave definiëren voor elk object, u kunt één weergave definiëren voor meerdere objecten of u kunt meerdere weergaven voor hetzelfde object definiëren. Er is geen limiet voor het aantal weergaven dat u kunt definiëren.
Algemene functies van opmaakbestanden
Elk opmaakbestand kan de volgende onderdelen definiëren die kunnen worden gedeeld in alle weergaven die door het bestand zijn gedefinieerd:
Standaardconfiguratie-instelling, bijvoorbeeld of de gegevens die worden weergegeven in de rijen van tabellen, worden weergegeven op de volgende regel als de gegevens langer zijn dan de breedte van de kolom. Zie Wrap-element voor TableRowEntryvoor meer informatie over deze instellingen.
Sets objecten die kunnen worden weergegeven door een van de weergaven van het opmaakbestand. Zie Sets met objecten definiërenvoor meer informatie over deze sets (selectiesetsgenoemd).
Algemene besturingselementen die kunnen worden gebruikt door alle weergaven van het opmaakbestand. Besturingselementen geven u meer controle over hoe gegevens worden weergegeven. Zie Aangepaste besturingselementen definiërenvoor meer informatie over besturingselementen.
Opmaakweergaven
Met opmaakweergaven kunnen objecten in een tabelindeling, lijstindeling, brede indeling en aangepaste indeling worden weergegeven. Voor het grootste deel wordt elke opmaakdefinitie beschreven door een set XML-tags die de weergave beschrijven. Elke weergave bevat de naam van de weergave, de objecten die gebruikmaken van de weergave en de elementen van de weergave, zoals de kolom- en rijgegevens voor een tabelweergave.
Tabelweergave
Een lijst met de eigenschappen van een object of een scriptblokwaarde in een of meer kolommen. Elke kolom vertegenwoordigt één eigenschap van het object of een scriptwaarde. U kunt een tabelweergave definiëren waarin alle eigenschappen van een object, een subset van de eigenschappen van een object of een combinatie van eigenschappen en scriptwaarden worden weergegeven. Elke rij van de tabel vertegenwoordigt een geretourneerd object. Het maken van een tabelweergave is vergelijkbaar met wanneer u een object doorsluist naar de cmdlet Format-Table
. Zie Tabelweergavevoor meer informatie over deze weergave.
Lijstweergave
Een lijst met de eigenschappen van een object of een scriptwaarde in één kolom. Elke rij van de lijst bevat een optioneel label of de naam van de eigenschap, gevolgd door de waarde van de eigenschap of het script.
Het maken van een lijstweergave is vergelijkbaar met het doorsluisen van een object naar de cmdlet Format-List
. Zie lijstweergavevoor meer informatie over deze weergave.
Brede weergave
Een lijst met één eigenschap van een object of een scriptwaarde in een of meer kolommen. Er is geen label of koptekst voor deze weergave. Het maken van een brede weergave is vergelijkbaar met het doorsluisen van een object naar de cmdlet Format-Wide
. Zie Wide Viewvoor meer informatie over deze weergave.
Aangepaste weergave
Geeft een aanpasbare weergave weer van objecteigenschappen of scriptwaarden die niet voldoen aan de starre structuur van tabelweergaven, lijstweergaven of brede weergaven. U kunt een zelfstandige aangepaste weergave definiëren of u kunt een aangepaste weergave definiëren die wordt gebruikt door een andere weergave, zoals een tabelweergave of lijstweergave.
Het maken van een aangepaste weergave is vergelijkbaar met het doorsluisen van een object naar de cmdlet Format-Custom
. Zie Aangepaste weergavevoor meer informatie over deze weergave.
Onderdelen van een weergave
In de volgende XML-voorbeelden ziet u de basis-XML-onderdelen van een weergave. De afzonderlijke XML-elementen variëren, afhankelijk van de weergave die u wilt maken, maar de basisonderdelen van de weergaven zijn allemaal hetzelfde.
Om te beginnen heeft elke weergave een Name
element dat een gebruiksvriendelijke naam aangeeft die wordt gebruikt om naar de weergave te verwijzen. een ViewSelectedBy
-element dat definieert welke .NET-objecten worden weergegeven door de weergave en een besturingselement element dat de weergave definieert.
<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>
In het besturingselementelement kunt u een of meer vermelding elementen definiëren. Als u meerdere definities gebruikt, moet u opgeven welke .NET-objecten elke definitie gebruiken. Doorgaans is slechts één vermelding, met slechts één definitie, nodig voor elk besturingselement.
<ListControl>
<ListEntries>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
Binnen elk itemelement van een weergave geeft u het item elementen op die de .NET-eigenschappen of scripts definiëren die door die weergave worden weergegeven.
<ListItems>
<ListItem>...</ListItem>
<ListItem>...</ListItem>
<ListItem>...</ListItem>
</ListItems>
Zoals in de voorgaande voorbeelden wordt weergegeven, kan het opmaakbestand meerdere weergaven bevatten, kan een weergave meerdere definities bevatten en kan elke definitie meerdere items bevatten.
Voorbeeld van een tabelweergave
In het volgende voorbeeld ziet u de XML-tags die worden gebruikt om een tabelweergave te definiëren die twee kolommen bevat. Het element ViewDefinitions is het containerelement voor alle weergaven die zijn gedefinieerd in het opmaakbestand. Het element Weergave definieert de specifieke tabel, lijst, breed of aangepaste weergave. Binnen elk element Weergave bepaalt het element Naam de naam van de weergave, definieert het element ViewSelectedBy de objecten die gebruikmaken van de weergave en de verschillende besturingselementen (zoals het TableControl
element dat in het volgende voorbeeld wordt weergegeven) het type van de weergave.
<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>