Formázási fájl – Áttekintés

A parancsok (parancsmagok, függvények és szkriptek) által visszaadott objektumok megjelenítési formátuma formázási fájlok (format.ps1xml fájlok) használatával határozható meg. A PowerShell számos ilyen fájlt biztosít a PowerShell által biztosított parancsok által visszaadott objektumok megjelenítési formátumának meghatározásához, például a parancsmag által visszaadott System.Diagnostics.Process Get-Process objektumot. Létrehozhat azonban saját egyéni formázási fájlokat is az alapértelmezett megjelenítési formátumok felülírása érdekében, vagy írhat egy egyéni formázási fájlt, amely meghatározza a saját parancsai által visszaadott objektumok megjelenítését.

Fontos

A formázási fájlok nem határozzák meg a folyamatnak visszaküldött objektumok elemeit. Amikor egy objektum visszakerül a folyamatba, az objektum összes tagja elérhető lesz, még akkor is, ha néhány nem jelenik meg.

A PowerShell az ezekben a formázási fájlokban lévő adatok alapján határozza meg, hogy mi jelenik meg, és hogyan vannak formázva a megjelenített adatok. A megjelenített adatok tartalmazhatnak egy objektum tulajdonságait vagy egy szkript értékét. A szkriptek akkor használhatók, ha olyan értéket szeretne megjeleníteni, amely nem érhető el közvetlenül egy objektum tulajdonságaiból, például egy objektum két tulajdonságának értékét adja hozzá, majd az összeget adatrészként jeleníti meg. A megjelenített adatok formázása a megjeleníteni kívánt objektumok nézeteinek meghatározásával történik. Definiálhat egyetlen nézetet minden objektumhoz, egyetlen nézetet több objektumhoz, vagy több nézetet is meghatározhat ugyanannak az objektumnak. A megadhatja a nézetek számát.

A fájlok formázásának gyakori funkciói

Mindegyik formázási fájl a következő összetevőket definiálhatja, amelyek megoszthatóak a fájl által meghatározott összes nézetben:

  • Alapértelmezett konfigurációs beállítás, például hogy a táblák sorában megjelenített adatok megjelennek-e a következő sorban, ha az adatok hosszabbak az oszlop szélességnél. További információ ezekről a beállításokról: A TableRowEntry Wrap eleme.

  • A formázási fájl bármely nézete által megjeleníthető objektumkészletek. További információ ezekről a készletekről (más néven kijelölési készletekről), lásd: Objektumkészletek definiálása.

  • A formázási fájl összes nézete által használható általános vezérlők. A vezérlők segítségével finomabb szabályozást adhat az adatok megjelenítéséhez. További információ a vezérlőkről: Egyéni vezérlők definiálása.

Nézetek formázása

A formázási nézetek táblázatos, lista, széles és egyéni formátumú objektumokat is megjeleníthet. A legtöbb esetben az egyes formázási definíciókat a nézetet leíró XML-címkék halmaza írja le. Minden nézet tartalmazza a nézet nevét, a nézetet használni kívánt objektumokat, valamint a nézet elemeit, például egy táblanézet oszlop- és sorinformációját.

Tábla nézet

Egy objektum vagy szkript blokkértékének tulajdonságait listázza egy vagy több oszlopban. Minden oszlop az objektum egyetlen tulajdonságát vagy egy szkriptértéket képvisel. Meghatározhat egy táblanézetet, amely megjeleníti egy objektum összes tulajdonságát, egy objektum tulajdonságainak egy részkészletét, vagy tulajdonságok és szkriptértékek kombinációját. A tábla minden egyes sora egy visszaadott objektumot képvisel. A táblanézet létrehozása nagyon hasonló ahhoz, amikor egy objektumot a Format-Table parancsmagnak ad át. További információ erről a nézetről: Táblanézet.

Listanézet

Egy objektum vagy szkriptérték tulajdonságait listázza egy oszlopban. A lista minden sorában megjelenik egy opcionális címke vagy tulajdonságnév, amelyet a tulajdonság vagy szkript értéke követ. A listanézet létrehozása nagyon hasonló ahhoz, mint amikor egy objektumot a Format-List parancsmagra mutat. További információ erről a nézetről: Listanézet.

Széles nézet

Egy objektum egyetlen tulajdonságát vagy egy szkript értékét listázza egy vagy több oszlopban. Ehhez a nézethez nincs címke vagy fejléc. Széles nézet létrehozása nagyon hasonló ahhoz, mint amikor egy objektumot a Format-Wide parancsmagra mutat. További információ erről a nézetről: Wide View ( Széles nézet).

Egyéni nézet

Az objektumtulajdonságok vagy szkriptértékek testre szabható nézetét jeleníti meg, amely nem követi a táblanézetek, listanézetek vagy széles nézetek merev szerkezetét. Definiálhat önálló egyéni nézetet, vagy egy másik nézet által használt egyéni nézetet, például táblázatos nézetet vagy listanézetet. Az egyéni nézet létrehozása nagyon hasonló ahhoz, mint amikor egy objektumot a Format-Custom parancsmagra mutat. További információ erről a nézetről: Egyéni nézet.

Nézet összetevői

Az alábbi XML-példák egy nézet alapvető XML-összetevőit mutatják be. Az egyes XML-elemek eltérőek lehetnek attól függően, hogy melyik nézetet szeretné létrehozni, de a nézetek alapösszetevői azonosak.

Először is minden nézet rendelkezik egy elemmel, amely egy felhasználóbarát nevet ad meg, amely Name a nézetre való hivatkozáshoz használatos. egy elem, amely meghatározza, hogy a nézet mely .NET-objektumokat jeleníti meg, valamint egy vezérlőelemet, amely ViewSelectedBy meghatározza a nézetet.

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

A vezérlőelemen belül meghatározhat egy vagy több bejegyzéselemet. Ha több definíciót használ, meg kell adnia, hogy mely .NET-objektumok használják az egyes definíciókat. Általában minden vezérlőnek csak egy bejegyzésre van szüksége, csak egy definícióval.

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

Egy nézet minden bejegyzéselemében meg kell adnia azokat az elemelemeket, amelyek meghatározzák az adott nézet által megjelenített .NET-tulajdonságokat vagy -szkripteket.


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

Ahogy az előző példákban is látható, a formázási fájl több nézetet is tartalmazhat, egy nézet több definíciót is tartalmazhat, és mindegyik definíció több elemet is tartalmazhat.

Példa táblanézetre

Az alábbi példa a két oszlopot tartalmazó táblanézet meghatározásához használt XML-címkéket mutatja be. A ViewDefinitions elem a formázási fájlban definiált összes nézet tárolóeleme. A Nézet elem határozza meg az adott táblát, listát, széles vagy egyéni nézetet. Az egyes Nézet elemeken belül a Név elem határozza meg a nézet nevét, a ViewSelectedBy elem határozza meg a nézetet használatban lévő objektumokat, a különböző vezérlőelemeket (például az alábbi példában látható elemet) pedig a nézet TableControl típusát.

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

Lásd még:

Listanézet létrehozása

Tábla nézet létrehozása

Széles nézet létrehozása

Egyéni vezérlők létrehozása

PowerShell formázási és típusfájl írása