Cmdlet、函式和腳本所傳回對象的顯示格式是使用格式化檔案來定義(format.ps1xml 檔案)。 Windows PowerShell 會提供其中數個檔案,以定義 Windows PowerShell Cmdlet 所傳回之對象的預設顯示格式。 不過,您也可以建立自己的自定義格式檔案來覆寫預設的顯示格式,或定義您自己的命令所傳回對象的顯示。
Windows PowerShell 會使用這些格式化檔案中的數據來判斷顯示的內容,以及數據格式化方式。 顯示的數據可以包含對象的屬性或腳本區塊的值。 如果您想要顯示一些無法直接從物件屬性取得的值,則會使用腳本區塊。 例如,您可能想要加入 物件兩個屬性的值,並將總和顯示為個別的數據片段。 當您撰寫自己的格式化檔案時,您必須為想要顯示的物件定義 檢視。 您可以為每個物件定義單一檢視、定義多個物件的單一檢視,也可以為相同的物件定義多個檢視。 您可以定義的檢視數目沒有限制。
這很重要
格式化檔案不會判斷傳回至管線之物件的元素。 當物件傳回管線時,該物件的所有成員都可以使用。
格式化檢視
格式化檢視可以顯示表格格式、清單格式、寬格式和自定義格式的物件。 在大多數情況下,每個格式定義都會由一組描述檢視的 XML 標籤來描述。 每個檢視都包含檢視的名稱、使用檢視的物件,以及檢視的專案,例如數據表檢視的數據行和數據列資訊。
下列檢視可供使用。
數據表檢視 列出物件或一個或多個數據行中的腳本區塊值的屬性。 每個數據行都代表 對象的屬性或腳本區塊值。 您可以定義數據表檢視,以顯示物件的所有屬性、對象的屬性子集,或屬性和腳本區塊值的組合。 數據表的每個數據列都代表傳回的物件。 如需此檢視的詳細資訊,請參閱 資料表檢視。
清單檢視 列出物件或單一數據行中的腳本區塊值的屬性。 清單的每個數據列都會顯示選擇性標籤或屬性名稱,後面接著屬性或腳本區塊的值。 如需此檢視的詳細資訊,請參閱 清單檢視。
寬檢視 列出物件或一或多個數據行中的腳本區塊值的單一屬性。 此檢視沒有標籤或標頭。 如需此檢視的詳細資訊,請參閱 Wide View。
自定義檢視 顯示物件屬性或腳本區塊值的可自定義檢視,這些值不符合數據表檢視、清單檢視或寬檢視的固定結構。 您可以定義獨立自定義檢視,也可以定義另一個檢視所使用的自定義檢視,例如數據表檢視或列表檢視。 如需此檢視的詳細資訊,請參閱 自定義檢視。
檢視 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>