명령(cmdlet, 함수 및 스크립트)에서 반환되는 개체의 표시 형식은 서식 파일(format.ps1xml)을 사용하여 정의됩니다. 이러한 파일 중 일부는 PowerShell에서 제공하는 명령에서 반환된 개체의 표시 형식(예: Get-Process cmdlet에서 반환된 System.Diagnostics.Process 개체)을 정의하기 위해 PowerShell에서 제공됩니다. 그러나 사용자 지정 서식 파일을 만들어 기본 표시 형식을 덮어쓰거나 사용자 지정 서식 파일을 작성하여 사용자 고유의 명령에서 반환된 개체의 표시를 정의할 수도 있습니다.
중요합니다
파일 서식 지정은 파이프라인에 반환되는 개체의 요소를 결정하지 않습니다. 개체가 파이프라인으로 반환되면 일부 개체가 표시되지 않더라도 해당 개체의 모든 멤버를 사용할 수 있습니다.
PowerShell은 이러한 서식 파일의 데이터를 사용하여 표시되는 데이터와 표시된 데이터의 형식을 결정합니다. 표시된 데이터에는 개체의 속성 또는 스크립트 값이 포함될 수 있습니다. 개체의 두 속성 값을 추가한 다음 합계를 데이터 조각으로 표시하는 등 개체의 속성에서 직접 사용할 수 없는 일부 값을 표시하려는 경우 스크립트가 사용됩니다. 표시된 데이터의 서식 지정은 표시하려는 개체에 대한 뷰를 정의하여 수행됩니다. 각 개체에 대해 단일 보기를 정의하거나, 여러 개체에 대한 단일 보기를 정의하거나, 동일한 개체에 대해 여러 보기를 정의할 수 있습니다. 정의할 수 있는 뷰 수에는 제한이 없습니다.
파일 서식 지정의 일반적인 기능
각 서식 파일은 파일에 정의된 모든 보기에서 공유할 수 있는 다음 구성 요소를 정의할 수 있습니다.
데이터가 열 너비보다 긴 경우 테이블 행에 표시되는 데이터가 다음 줄에 표시되는지 여부와 같은 기본 구성 설정입니다. 이러한 설정에 대한 자세한 내용은 TableRowEntry 대한Wrap 요소를 참조하세요.
서식 파일의 뷰에서 표시할 수 있는 개체 집합입니다. 이러한 집합(선택 집합참조)에 대한 자세한 내용은 개체 집합 정의참조하세요.
서식 파일의 모든 보기에서 사용할 수 있는 일반적인 컨트롤입니다. 컨트롤을 사용하면 데이터가 표시되는 방식을 더 세밀하게 제어할 수 있습니다. 컨트롤에 대한 자세한 내용은 사용자 지정 컨트롤 정의 참조하세요.
뷰 서식 지정
서식 보기는 테이블 형식, 목록 형식, 와이드 형식 및 사용자 지정 형식으로 개체를 표시할 수 있습니다. 대부분의 경우 각 서식 정의는 뷰를 설명하는 XML 태그 집합에 의해 설명됩니다. 각 보기에는 뷰의 이름, 뷰를 사용하는 개체 및 뷰의 요소(예: 테이블 뷰의 열 및 행 정보)가 포함됩니다.
테이블 뷰
하나 이상의 열에 있는 개체 또는 스크립트 블록 값의 속성을 나열합니다. 각 열은 개체의 단일 속성 또는 스크립트 값을 나타냅니다. 개체의 모든 속성, 개체 속성의 하위 집합 또는 속성과 스크립트 값의 조합을 표시하는 테이블 뷰를 정의할 수 있습니다. 테이블의 각 행은 반환된 개체를 나타냅니다. 테이블 뷰를 만드는 것은 개체를 Format-Table cmdlet에 파이프할 때와 매우 유사합니다. 이 보기에 대한 자세한 내용은 테이블 뷰참조하세요.
목록 뷰
단일 열에 있는 개체 또는 스크립트 값의 속성을 나열합니다. 목록의 각 행에는 선택적 레이블 또는 속성 이름 뒤에 속성 또는 스크립트 값이 표시됩니다.
목록 보기를 만드는 것은 개체를 Format-List cmdlet으로 파이핑하는 것과 매우 유사합니다. 이 보기에 대한 자세한 내용은 목록 보기 참조하세요.
넓은 보기
하나 이상의 열에 개체 또는 스크립트 값의 단일 속성을 나열합니다. 이 보기에 대한 레이블이나 헤더가 없습니다. 넓은 보기를 만드는 것은 개체를 Format-Wide cmdlet으로 파이핑하는 것과 매우 유사합니다. 이 보기에 대한 자세한 내용은 와이드 보기참조하세요.
사용자 지정 보기
테이블 뷰, 목록 보기 또는 넓은 보기의 고정 구조를 따르지 않는 개체 속성 또는 스크립트 값의 사용자 지정 가능한 보기를 표시합니다. 독립 실행형 사용자 지정 보기를 정의하거나 테이블 뷰 또는 목록 보기와 같은 다른 보기에서 사용되는 사용자 지정 보기를 정의할 수 있습니다.
사용자 지정 보기를 만드는 것은 개체를 Format-Custom cmdlet으로 파이핑하는 것과 매우 유사합니다. 이 보기에 대한 자세한 내용은 사용자 지정 보기참조하세요.
뷰의 구성 요소
다음 XML 예제에서는 뷰의 기본 XML 구성 요소를 보여 줍니다. 개별 XML 요소는 만들려는 뷰에 따라 다르지만 보기의 기본 구성 요소는 모두 동일합니다.
먼저 각 보기에는 뷰를 참조하는 데 사용되는 사용자에게 친숙한 이름을 지정하는 Name 요소가 있습니다. 뷰에 표시되는 .NET 개체를 정의하는 ViewSelectedBy 요소와 뷰를 정의하는 컨트롤 요소입니다.
<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>
컨트롤 요소 내에서 하나 이상의 항목 요소를 정의할 수 있습니다. 여러 정의를 사용하는 경우 각 정의를 사용하는 .NET 개체를 지정해야 합니다. 일반적으로 각 컨트롤에 대해 하나의 정의만 있는 하나의 항목만 필요합니다.
<ListControl>
<ListEntries>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
뷰의 각 항목 요소 내에서 해당 뷰에 표시되는 .NET 속성 또는 스크립트를 정의하는 요소에 항목을 지정합니다.
<ListItems>
<ListItem>...</ListItem>
<ListItem>...</ListItem>
<ListItem>...</ListItem>
</ListItems>
앞의 예제와 같이 서식 파일에는 여러 보기가 포함될 수 있고, 뷰에 여러 정의가 포함될 수 있으며, 각 정의에 여러 항목이 포함될 수 있습니다.
테이블 뷰의 예
다음 예제에서는 두 개의 열을 포함하는 테이블 뷰를 정의하는 데 사용되는 XML 태그를 보여 줍니다.
ViewDefinitions 요소는 서식 파일에 정의된 모든 보기에 대한 컨테이너 요소입니다.
View 요소는 특정 테이블, 목록, 와이드 또는 사용자 지정 보기를 정의합니다. 각 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