Megosztás a következőn keresztül:


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) használatával van definiálva. 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 System.Diagnostics.Process objektumhoz, amelyet a Get-Process parancsmag adott vissza. Létrehozhat azonban saját egyéni formázási fájlokat is, amelyekkel felülírhatja az alapértelmezett megjelenítési formátumokat, vagy egyéni formázási fájlt is írhat a saját parancsai által visszaadott objektumok megjelenítésének meghatározásához.

Fontos

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

A PowerShell az ezekben a formázási fájlokban szereplő adatokat használja annak meghatározására, hogy mi jelenjen meg, és hogyan formázza a megjelenített adatokat. A megjelenített adatok tartalmazhatják 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 adatelemként jeleníti meg. A megjelenített adatok formázása a megjeleníteni kívánt objektumok nézeteinek megadásával történik. Minden objektumhoz definiálhat egyetlen nézetet, több objektumhoz is definiálhat egyetlen nézetet, vagy több nézetet is definiálhat ugyanahhoz az objektumhoz. A definiálható nézetek száma nincs korlátozva.

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

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

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

  • A formázási fájl bármely nézete által megjeleníthető objektumkészletek. Ezekről a készletekről (más néven kijelölési csoportokról) további információt Objektumkészletek definiálásacímű témakörben talál.

  • A formázási fájl összes nézete által használható gyakori vezérlők. A vezérlők segítségével részletesebben szabályozhatja az adatok megjelenítését. 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, listaformátumú, széles és egyéni formátumú objektumokat jeleníthetnek meg. A legtöbb esetben minden formázási definíciót a nézetet leíró XML-címkék halmaza ír le. Minden nézet tartalmazza a nézet nevét, a nézetet használó objektumokat és a nézet elemeit, például a táblanézet oszlop- és sorinformációit.

Táblázat nézet

Egy objektum vagy egy parancsfájl blokkértékének tulajdonságait sorolja fel egy vagy több oszlopban. Minden oszlop az objektum vagy egy szkriptérték egyetlen tulajdonságát jelöli. Meghatározhat olyan táblázatnézetet, amely megjeleníti egy objektum összes tulajdonságát, egy objektum tulajdonságainak egy részhalmazát vagy a tulajdonságok és szkriptértékek kombinációját. A tábla minden sora egy visszaadott objektumot jelöl. A táblanézetek létrehozása nagyon hasonló ahhoz, amikor egy objektumot a Format-Table parancsmagra csövez. További információ erről a nézetről: Táblázatnézet.

Listanézet

Egy objektum vagy egy szkriptérték tulajdonságait sorolja fel egyetlen oszlopban. A lista minden sora egy opcionális címkét vagy tulajdonságnevet jelenít meg, amelyet a tulajdonság vagy szkript értéke követ. A listanézetek létrehozása nagyon hasonlít ahhoz, hogy egy objektumot a Format-List parancsmaghoz fűz. További információ erről a nézetről: Listanézet.

Széles nézet

Egy objektum vagy egy szkriptérték egyetlen tulajdonságát jeleníti meg egy vagy több oszlopban. Ehhez a nézethez nincs címke vagy fejléc. A széles nézet létrehozása nagyon hasonlít egy objektumnak a Format-Wide parancsmaghoz való pipálásához. További információ erről a nézetről: Széles nézet.

Egyéni nézet

Testre szabható nézetet jelenít meg az olyan objektumtulajdonságokról vagy szkriptértékekről, amelyek nem igazodnak a táblázatnézetek, listanézetek vagy széles nézetek merev szerkezetéhez. Definiálhat önálló egyéni nézetet, vagy megadhat egy másik nézet által használt egyéni nézetet, például táblázatnézetet vagy listanézetet. Az egyéni nézet létrehozása nagyon hasonlít egy objektumnak a Format-Custom parancsmaghoz való pipálásához. 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 a nézet alapvető XML-összetevőit mutatják be. Az egyes XML-elemek attól függően változnak, hogy melyik nézetet szeretné létrehozni, de a nézetek alapösszetevői megegyeznek.

Először is minden nézet rendelkezik egy Name elemet, amely egy felhasználóbarát nevet ad meg, amely a nézetre való hivatkozáshoz használatos. egy ViewSelectedBy elem, amely meghatározza, hogy a nézet mely .NET-objektumokat jeleníti meg, valamint egy vezérlő elemet, amely 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 definiálhat egy vagy több bejegyzést elemeket. Ha több definíciót használ, meg kell adnia, hogy mely .NET-objektumok használják az egyes definíciókat. Az egyes vezérlőkhöz általában csak egy bejegyzésre van szükség, 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>

A nézet minden egyes belépési elemén belül meg kell adnia a elemet elemeket, 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 minden definíció több elemet is tartalmazhat.

Példa táblázatnézetre

Az alábbi példa a két oszlopot tartalmazó táblanézet definiálá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ázatot, listát, széles vagy egyéni nézetet. Minden Nézet elemen belül a Név elem határozza meg a nézet nevét, a ViewSelectedBy elem határozza meg a nézetet használó objektumokat, és a különböző vezérlőelemek (például az alábbi példában látható TableControl elem) határozzák meg a nézet 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áblanézet létrehozása

Széles nézet létrehozása

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

PowerShell-formázás írása és fájltípusok