Udostępnij za pośrednictwem


Omówienie plików formatujących

Format wyświetlania obiektów zwracanych przez polecenia (polecenia cmdlet, funkcje i skrypty) są definiowane przy użyciu plików formatowania (format.ps1xml). Kilka z tych plików jest dostarczanych przez program PowerShell, aby zdefiniować format wyświetlania dla tych obiektów zwracanych przez polecenia dostarczone przez program PowerShell, takie jak obiekt System.Diagnostics.Process zwrócony przez polecenie cmdlet Get-Process. Można jednak również utworzyć własne niestandardowe pliki formatowania, aby zastąpić domyślne formaty wyświetlania lub zapisać niestandardowy plik formatowania w celu zdefiniowania wyświetlania obiektów zwracanych przez własne polecenia.

Ważne

Pliki formatowania nie określają elementów obiektu, które są zwracane do potoku. Gdy obiekt jest zwracany do potoku, wszystkie elementy członkowskie tego obiektu są dostępne, nawet jeśli niektóre nie są wyświetlane.

Program PowerShell używa danych w tych plikach formatowania, aby określić, co jest wyświetlane i jak są sformatowane wyświetlane dane. Wyświetlane dane mogą zawierać właściwości obiektu lub wartość skryptu. Skrypty są używane, jeśli chcesz wyświetlić pewną wartość, która nie jest dostępna bezpośrednio z właściwości obiektu, takich jak dodanie wartości dwóch właściwości obiektu, a następnie wyświetlenie sumy jako fragmentu danych. Formatowanie wyświetlanych danych odbywa się przez zdefiniowanie widoków dla obiektów, które mają być wyświetlane. Można zdefiniować pojedynczy widok dla każdego obiektu, można zdefiniować pojedynczy widok dla wielu obiektów lub zdefiniować wiele widoków dla tego samego obiektu. Nie ma limitu liczby widoków, które można zdefiniować.

Typowe funkcje formatowania plików

Każdy plik formatowania może definiować następujące składniki, które mogą być współużytkowane we wszystkich widokach zdefiniowanych przez plik:

  • Domyślne ustawienie konfiguracji, takie jak to, czy dane wyświetlane w wierszach tabel będą wyświetlane w następnym wierszu, jeśli dane są dłuższe niż szerokość kolumny. Aby uzyskać więcej informacji na temat tych ustawień, zobacz Wrap, element for TableRowEntry.

  • Zestawy obiektów, które mogą być wyświetlane przez dowolne widoki pliku formatowania. Aby uzyskać więcej informacji na temat tych zestawów (nazywanych zestawami wyboru ), zobacz Definiowanie zestawów obiektów.

  • Typowe kontrolki, które mogą być używane przez wszystkie widoki pliku formatowania. Kontrolki zapewniają dokładną kontrolę nad sposobem wyświetlania danych. Aby uzyskać więcej informacji na temat kontrolek, zobacz Definiowanie kontrolek niestandardowych.

Formatowanie widoków

Widoki formatowania mogą wyświetlać obiekty w formacie tabeli, formacie listy, formacie szerokiego formatu i formacie niestandardowym. W większości przypadków każda definicja formatowania jest opisana przez zestaw tagów XML opisujących widok. Każdy widok zawiera nazwę widoku, obiekty korzystające z widoku oraz elementy widoku, takie jak kolumna i informacje o wierszu widoku.

Widok tabeli

Wyświetla listę właściwości obiektu lub wartości bloku skryptu w co najmniej jednej kolumnie. Każda kolumna reprezentuje pojedynczą właściwość obiektu lub wartość skryptu. Można zdefiniować widok tabeli, który wyświetla wszystkie właściwości obiektu, podzestaw właściwości obiektu lub kombinację właściwości i wartości skryptu. Każdy wiersz tabeli reprezentuje zwrócony obiekt. Tworzenie widoku tabeli jest bardzo podobne do potoku obiektu do polecenia cmdlet Format-Table. Aby uzyskać więcej informacji na temat tego widoku, zobacz Widok tabeli.

Widok listy

Wyświetla listę właściwości obiektu lub wartości skryptu w jednej kolumnie. Każdy wiersz listy wyświetla opcjonalną etykietę lub nazwę właściwości, po której następuje wartość właściwości lub skryptu. Tworzenie widoku listy jest bardzo podobne do potokowania obiektu do polecenia cmdlet Format-List. Aby uzyskać więcej informacji na temat tego widoku, zobacz Widok listy.

Szeroki widok

Wyświetla pojedynczą właściwość obiektu lub wartości skryptu w co najmniej jednej kolumnie. Brak etykiety ani nagłówka dla tego widoku. Tworzenie szerokiego widoku jest bardzo podobne do potokowania obiektu do polecenia cmdlet Format-Wide. Aby uzyskać więcej informacji na temat tego widoku, zobacz Wide View.

Widok niestandardowy

Wyświetla dostosowywalny widok właściwości obiektu lub wartości skryptu, które nie są zgodne ze sztywną strukturą widoków tabeli, widoków list lub widoków szerokich. Możesz zdefiniować autonomiczny widok niestandardowy lub zdefiniować widok niestandardowy używany przez inny widok, taki jak widok tabeli lub widok listy. Tworzenie widoku niestandardowego jest bardzo podobne do potokowania obiektu do polecenia cmdlet Format-Custom. Aby uzyskać więcej informacji na temat tego widoku, zobacz Widok niestandardowy.

Składniki widoku

W poniższych przykładach XML przedstawiono podstawowe składniki XML widoku. Poszczególne elementy XML różnią się w zależności od widoku, który chcesz utworzyć, ale podstawowe składniki widoków są takie same.

Na początek każdy widok ma element Name, który określa przyjazną nazwę, która jest używana do odwołowania się do widoku. element ViewSelectedBy definiujący, które obiekty platformy .NET są wyświetlane przez widok, oraz kontrolkę element definiujący widok.

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

W elemecie kontrolnym można zdefiniować co najmniej jeden wpis. Jeśli używasz wielu definicji, musisz określić, które obiekty platformy .NET używają każdej definicji. Zazwyczaj tylko jeden wpis z tylko jedną definicją jest wymagany dla każdej kontrolki.

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

W każdym elemencie entry widoku należy określić element elementów, które definiują właściwości lub skrypty platformy .NET wyświetlane przez ten widok.


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

Jak pokazano w poprzednich przykładach, plik formatowania może zawierać wiele widoków, widok może zawierać wiele definicji, a każda definicja może zawierać wiele elementów.

Przykład widoku tabeli

W poniższym przykładzie przedstawiono tagi XML używane do definiowania widoku tabeli zawierającego dwie kolumny. Element ViewDefinitions jest elementem kontenera dla wszystkich widoków zdefiniowanych w pliku formatowania. Element View definiuje określoną tabelę, listę, szeroki lub niestandardowy widok. W ramach każdego elementu View element Name określa nazwę widoku, element ViewSelectedBy definiuje obiekty korzystające z widoku, a także różne elementy kontrolki (takie jak element TableControl pokazany w poniższym przykładzie) definiują typ widoku.

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

Zobacz też

tworzenie widoku listy

tworzenie widoku tabeli

tworzenie widoku szerokiego

tworzenie kontrolek niestandardowych

pisanie pliku i typów programu PowerShell