Пользовательские файлы форматирования
Формат отображения объектов, возвращаемых командлетами, функциями и скриптами, определяется с помощью файлов форматирования (format.ps1xml
файлов). Некоторые из этих файлов предоставляются Windows PowerShell для определения формата отображения по умолчанию для этих объектов, возвращаемых командлетами Windows PowerShell. Однако вы также можете создать собственные пользовательские файлы форматирования, чтобы перезаписать форматы отображения по умолчанию или определить отображение объектов, возвращаемых собственными командами.
Windows PowerShell использует данные в этих файлах форматирования для определения отображаемых и форматирования данных. Отображаемые данные могут включать свойства объекта или значение блока скрипта. Блоки скриптов используются, если требуется отобразить некоторое значение, недоступное непосредственно из свойств объекта. Например, можно добавить значение двух свойств объекта и отобразить сумму как отдельную часть данных. При написании собственного файла форматирования необходимо определить представления для объектов, которые необходимо отобразить. Можно определить одно представление для каждого объекта, можно определить одно представление для нескольких объектов или определить несколько представлений для одного объекта. Количество определяемых представлений не ограничено.
Это важно
Файлы форматирования не определяют элементы объекта, возвращаемого в конвейер. Когда объект возвращается в конвейер, все члены этого объекта доступны.
Формат представлений
Представления форматирования могут отображать объекты в табличном формате, формате списка, широком формате и пользовательском формате. В большинстве случаев каждое определение форматирования описывается набором XML-тегов, описывающих представление. Каждое представление содержит имя представления, объекты, использующие представление, и элементы представления, такие как сведения о столбцах и строках для представления таблицы.
Доступны следующие представления.
В представлении таблицы перечислены свойства объекта или значения блока скрипта в одном или нескольких столбцах. Каждый столбец представляет свойство объекта или значения блока скрипта. Вы можете определить представление таблицы, отображающее все свойства объекта, подмножество свойств объекта или сочетание свойств и значений блоков скрипта. Каждая строка таблицы представляет возвращаемый объект. Дополнительные сведения об этом представлении см. в представлении таблиц.
Представление списка содержит список свойств объекта или значения блока скрипта в одном столбце. Каждая строка списка отображает необязательную метку или имя свойства, за которым следует значение свойства или блока скрипта. Дополнительные сведения об этом представлении см. в представлении списка.
Широкое представление Содержит одно свойство объекта или значения блока скрипта в одном или нескольких столбцах. Для этого представления нет метки или заголовка. Дополнительные сведения об этом представлении см. в расширенных представлений.
Пользовательское представление отображает настраиваемое представление свойств объекта или значений блоков скрипта, которые не соответствуют жесткой структуре представлений таблиц, представлений списка или широких представлений. Можно определить автономное пользовательское представление или определить пользовательское представление, используемое другим представлением, например представление таблицы или представления списка. Дополнительные сведения об этом представлении см. в пользовательском представлении.
Просмотр XML-элементов
В следующем примере показаны XML-теги, используемые для определения представления таблицы, содержащего два столбца. Элемент ViewDefinitions — это элемент контейнера для всех представлений, определенных в файле форматирования. Элемент View определяет определенную таблицу, список, широкий или настраиваемый вид. В каждом представлении элемент Name указывает имя представления, элемент ViewSelectedBy определяет объекты, использующие представление, и различные элементы управления (например, элемент TableControl
) определяют формат представления.
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>
См. также
PowerShell