Översikt över formateringsfiler

Visningsformatet för de objekt som returneras av kommandon (cmdlets, funktioner och skript) definieras med hjälp av formateringsfiler (format.ps1xml-filer). Flera av dessa filer tillhandahålls av PowerShell för att definiera visningsformatet för de objekt som returneras av PowerShell-kommandon, till exempel objektet System.Diagnostics.Process som returneras av Get-Process cmdleten. Men du kan också skapa egna anpassade formateringsfiler för att skriva över standardvisningsformaten eller skriva en anpassad formateringsfil för att definiera visningen av objekt som returneras av dina egna kommandon.

Viktigt

Formatering av filer avgör inte elementen i ett objekt som returneras till pipelinen. När ett objekt returneras till pipelinen är alla medlemmar i objektet tillgängliga även om vissa inte visas.

PowerShell använder data i de här formateringsfilerna för att avgöra vad som visas och hur data som visas formateras. Data som visas kan innehålla egenskaperna för ett objekt eller värdet för ett skript. Skript används om du vill visa ett värde som inte är tillgängligt direkt från egenskaperna för ett objekt, till exempel att lägga till värdet för två egenskaper för ett objekt och sedan visa summan som en databit. Formateringen av de data som visas görs genom att definiera vyer för de objekt som du vill visa. Du kan definiera en enskild vy för varje objekt, definiera en enda vy för flera objekt eller definiera flera vyer för samma objekt. Det finns ingen gräns för hur många vyer som du kan definiera.

Vanliga funktioner för formatering av filer

Varje formateringsfil kan definiera följande komponenter som kan delas mellan alla vyer som definieras av filen:

  • Standardkonfigurationsinställning, till exempel om data som visas i raderna i tabeller visas på nästa rad om data är längre än kolumnens bredd. Mer information om de här inställningarna finns i Wrap-element för TableRowEntry.

  • Uppsättningar med objekt som kan visas av någon av vyerna i formateringsfilen. Mer information om dessa uppsättningar (kallas urvalsuppsättningar) finns i Definiera uppsättningar med objekt.

  • Vanliga kontroller som kan användas av alla vyer i formateringsfilen. Kontroller ger dig bättre kontroll över hur data visas. Mer information om kontroller finns i Definiera anpassade kontroller.

Formateringsvyer

Formateringsvyer kan visa objekt i tabellformat, listformat, brett format och anpassat format. I de flesta fall beskrivs varje formateringsdefinition av en uppsättning XML-taggar som beskriver vyn. Varje vy innehåller namnet på vyn, objekten som använder vyn och elementen i vyn, till exempel kolumn- och radinformation för en tabellvy.

Tabellvy

Visar egenskaperna för ett objekt eller ett skriptblockvärde i en eller flera kolumner. Varje kolumn representerar en enskild egenskap för objektet eller ett skriptvärde. Du kan definiera en tabellvy som visar alla egenskaper för ett objekt, en delmängd av egenskaperna för ett objekt eller en kombination av egenskaper och skriptvärden. Varje rad i tabellen representerar ett returnerat objekt. Att skapa en tabellvy liknar när du pipe ett objekt till Format-Table cmdleten. Mer information om den här vyn finns i Tabellvy.

Listvy

Visar egenskaperna för ett objekt eller ett skriptvärde i en enda kolumn. Varje rad i listan visar en valfri etikett eller egenskapsnamnet följt av värdet för egenskapen eller skriptet. Att skapa en listvy liknar att leda ett objekt till Format-List cmdleten . Mer information om den här vyn finns i Listvy.

Bred vy

Visar en enskild egenskap för ett objekt eller ett skriptvärde i en eller flera kolumner. Det finns ingen etikett eller rubrik för den här vyn. Att skapa en bred vy liknar att leda ett objekt till Format-Wide cmdleten . Mer information om den här vyn finns i Bred vy.

Anpassad vy

Visar en anpassningsbar vy över objektegenskaper eller skriptvärden som inte följer den fasta strukturen för tabellvyer, listvyer eller breda vyer. Du kan definiera en fristående anpassad vy eller definiera en anpassad vy som används av en annan vy, till exempel en tabellvy eller listvy. Att skapa en anpassad vy liknar att leda ett objekt till Format-Custom cmdleten . Mer information om den här vyn finns i Anpassad vy.

Komponenter i en vy

I följande XML-exempel visas de grundläggande XML-komponenterna i en vy. De enskilda XML-elementen varierar beroende på vilken vy du vill skapa, men de grundläggande komponenterna i vyerna är desamma.

Till att börja med har varje vy Name ett -element som anger ett användarvänligt namn som används för att referera till vyn. ett ViewSelectedBy -element som definierar vilka .NET-objekt som visas i vyn och ett kontrollelement som definierar vyn.

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

I kontrollelementet kan du definiera ett eller flera postelement. Om du använder flera definitioner måste du ange vilka .NET-objekt som använder varje definition. Vanligtvis behövs bara en post, med bara en definition, för varje kontroll.

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

I varje postelement i en vy anger du de objektelement som definierar de .NET-egenskaper eller skript som visas i vyn.


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

Som du ser i föregående exempel kan formateringsfilen innehålla flera vyer, en vy kan innehålla flera definitioner och varje definition kan innehålla flera objekt.

Exempel på en tabellvy

I följande exempel visas de XML-taggar som används för att definiera en tabellvy som innehåller två kolumner. Elementet ViewDefinitions är containerelementet för alla vyer som definierats i formateringsfilen. View-elementet definierar den specifika tabellen, listan, bred eller anpassad vy. I varje View-element anger elementet Name namnet på vyn, elementet ViewSelectedBy definierar de objekt som använder vyn och de olika kontrollelementen (till exempel elementet som visas i följande exempel) definierar typen TableControl av vy.

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

Se även

Skapa en listvy

Skapa en tabellvy

Skapa en bred vy

Skapa anpassade kontroller

Skriva en PowerShell-fil för formatering och typer