목록 보기는 단일 열에 데이터를 순차적으로 표시합니다. 목록에 표시되는 데이터는 .NET 속성의 값 또는 스크립트 값일 수 있습니다.
목록 보기 표시
다음 출력에서는 Windows PowerShell이 Get-Service cmdlet에서 반환되는 System.ServiceProcess.ServiceController 개체의 속성을 표시하는 방법을 보여 줍니다. 이 예제에서는 세 개의 개체가 반환되었으며 각 개체는 앞의 개체와 빈 줄로 구분되었습니다.
Get-Service | Format-List
Name : AEADIFilters
DisplayName : Andrea ADI Filters Service
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32OwnProcess
Name : AeLookupSvc
DisplayName : Application Experience
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32ShareProcess
Name : AgereModemAudio
DisplayName : Agere Modem Call Progress Audio
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32OwnProcess
...
목록 보기 정의
다음 XML은 System.ServiceProcess.ServiceController 개체의 여러 속성을 표시하기 위한 목록 보기 스키마를 보여 줍니다. 목록 보기에 표시할 각 속성을 지정해야 합니다.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.ServiceProcess.ServiceController</TypeName>
</ViewSelectedBy>
<ListControl>
<ListEntries>
<ListEntry>
<ListItems>
<ListItem>
<PropertyName>Name</PropertyName>
</ListItem>
<ListItem>
<PropertyName>DisplayName</PropertyName>
</ListItem>
<ListItem>
<PropertyName>Status</PropertyName>
</ListItem>
<ListItem>
<PropertyName>ServiceType</PropertyName>
</ListItem>
</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
</View>
다음 XML 요소는 목록 보기를 정의하는 데 사용됩니다.
View 요소는 목록 보기의 부모 요소입니다. (테이블, 와이드 및 사용자 지정 컨트롤 뷰에 대해 동일한 부모 요소입니다.)
Name 요소는 뷰의 이름을 지정합니다. 이 요소는 모든 보기에 필요합니다.
ViewSelectedBy 요소는 뷰를 사용하는 개체를 정의합니다. 이 요소는 필수 요소입니다.
GroupBy 요소는 새 개체 그룹이 표시되는 시기를 정의합니다. 특정 속성 또는 스크립트의 값이 변경될 때마다 새 그룹이 시작됩니다. 이 요소는 선택적입니다.
Controls 요소는 목록 보기에 정의된 사용자 지정 컨트롤을 정의합니다. 컨트롤을 사용하면 데이터가 표시되는 방법을 추가로 지정할 수 있습니다. 이 요소는 선택적입니다. 뷰는 고유한 사용자 지정 컨트롤을 정의하거나 서식 파일의 모든 보기에서 사용할 수 있는 공용 컨트롤을 사용할 수 있습니다. 사용자 지정 컨트롤에 대한 자세한 내용은 사용자 지정 컨트롤 만들기참조하세요.
ListControl 요소는 뷰에 표시되는 항목과 서식을 정의합니다. 다른 모든 보기와 마찬가지로 목록 보기는 스크립트에서 생성된 개체 속성 또는 값의 값을 표시할 수 있습니다.
간단한 목록 보기를 정의하는 전체 서식 파일의 예는 목록 보기(기본)참조하세요.
목록 보기에 대한 정의 제공
목록 보기는 ListControl 요소의 자식 요소를 사용하여 하나 이상의 정의를 제공할 수 있습니다. 일반적으로 뷰에는 정의가 하나만 있습니다. 다음 예제에서 뷰는 System.Diagnostics.Process 개체의 여러 속성을 표시하는 단일 정의를 제공합니다. 목록 보기는 속성 값이나 스크립트 값을 표시할 수 있습니다(예제에 표시되지 않음).
<ListControl>
<ListEntries>
<ListEntry>
<ListItems>
<ListItem>
<PropertyName>Name</PropertyName>
</ListItem>
<ListItem>
<PropertyName>DisplayName</PropertyName>
</ListItem>
<ListItem>
<PropertyName>Status</PropertyName>
</ListItem>
<ListItem>
<PropertyName>ServiceType</PropertyName>
</ListItem>
</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
다음 XML 요소를 사용하여 목록 보기에 대한 정의를 제공할 수 있습니다.
ListControl 요소 및 해당 자식 요소는 보기에 표시되는 항목을 정의합니다.
ListEntries 요소는 뷰의 정의를 제공합니다. 대부분의 경우 뷰에는 정의가 하나만 있습니다. 이 요소는 필수 요소입니다.
ListEntry 요소는 뷰의 정의를 제공합니다. 하나 이상의 ListEntry 필요합니다. 그러나 추가할 수 있는 요소 수에는 최대 제한이 없습니다. 대부분의 경우 뷰에는 정의가 하나만 있습니다.
EntrySelectedBy 요소는 특정 정의에 의해 표시되는 개체를 지정합니다. 이 요소는 선택 사항이며 서로 다른 개체를 표시하는 여러 ListEntry 요소를 정의하는 경우에만 필요합니다.
ListItems 요소는 값이 목록 보기의 행에 표시되는 속성 및 스크립트를 지정합니다.
ListItem 요소는 값이 목록 보기의 행에 표시되는 속성 또는 스크립트를 지정합니다. 목록 보기는 하나 이상의 속성 또는 스크립트를 지정해야 합니다. 지정할 수 있는 행 수에는 최대 제한이 없습니다.
PropertyName 요소는 값이 행에 표시되는 속성을 지정합니다. 속성 또는 스크립트를 지정해야 하지만 둘 다 지정할 수는 없습니다.
ScriptBlock 요소는 값이 행에 표시되는 스크립트를 지정합니다. 스크립트 또는 속성을 지정해야 하지만 둘 다 지정할 수는 없습니다.
Label 요소는 행에 있는 속성 또는 스크립트 값의 왼쪽에 표시되는 레이블을 지정합니다. 이 요소는 선택적입니다. 레이블을 지정하지 않으면 속성 또는 스크립트의 이름이 표시됩니다. 전체 예제는 목록 보기(레이블)참조하세요.
ItemSelectionCondition 요소는 행을 표시할 조건을 지정합니다. 목록 보기에 조건을 추가하는 방법에 대한 자세한 내용은 데이터 표시하기 위한 조건 정의참조하세요. 이 요소는 선택적입니다.
FormatString 요소는 속성 또는 스크립트의 값을 표시하는 데 사용되는 패턴을 지정합니다. 이 요소는 선택적입니다.
간단한 목록 보기를 정의하는 전체 서식 파일의 예는 목록 보기(기본)참조하세요.
목록 보기를 사용하는 개체 정의
목록 보기를 사용하는 .NET 개체를 정의하는 방법에는 두 가지가 있습니다. ViewSelectedBy 요소를 사용하여 뷰의 모든 정의에서 표시할 수 있는 개체를 정의하거나 EntrySelectedBy 요소를 사용하여 뷰의 특정 정의에 의해 표시되는 개체를 정의할 수 있습니다. 대부분의 경우 뷰에는 정의가 하나만 있으므로 개체는 일반적으로 ViewSelectedBy 요소에 의해 정의됩니다.
다음 예제에서는 ViewSelectedBy 사용하여 목록 보기에 표시되는 개체를 정의하고 TypeName 요소를 방법을 보여 줍니다. 지정할 수 있는 TypeName 요소의 수에는 제한이 없으며 순서는 중요하지 않습니다.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.Diagnostics.Process</TypeName>
</ViewSelectedBy>
<ListControl>...</ListControl>
</View>
다음 XML 요소를 사용하여 목록 보기에서 사용되는 개체를 지정할 수 있습니다.
ViewSelectedBy 요소는 목록 보기에 표시되는 개체를 정의합니다.
TypeName 요소는 뷰에 표시되는 .NET 개체를 지정합니다. 정규화된 .NET 형식 이름이 필요합니다. 뷰에 대해 하나 이상의 형식 또는 선택 집합을 지정해야 하지만 지정할 수 있는 최대 요소 수는 없습니다.
전체 서식 파일의 예는 목록 보기(기본)참조하세요.
다음 예제에서는 ViewSelectedBy 및 SelectionSetName 요소를 사용합니다. 동일한 개체에 대한 목록 보기 및 테이블 뷰를 정의하는 경우와 같이 여러 보기를 사용하여 표시되는 관련 개체 집합이 있는 선택 집합을 사용합니다. 선택 집합을 만드는 방법에 대한 자세한 내용은 선택 집합 정의참조하세요.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<SelectionSetName>.NET Type Set</SelectionSetName>
</ViewSelectedBy>
<ListControl>...</ListControl>
</View>
다음 XML 요소를 사용하여 목록 보기에서 사용되는 개체를 지정할 수 있습니다.
ViewSelectedBy 요소는 목록 보기에 표시되는 개체를 정의합니다.
SelectionSetName 요소는 보기에서 표시할 수 있는 개체 집합을 지정합니다. 뷰에 대해 하나 이상의 선택 집합 또는 형식을 지정해야 하지만 지정할 수 있는 최대 요소 수는 없습니다.
다음 예제에서는 EntrySelectedBy 요소를 사용하여 목록 보기의 특정 정의에 의해 표시되는 개체를 정의하는 방법을 보여 줍니다. 이 요소를 사용하여 개체의 .NET 형식 이름, 개체의 선택 집합 또는 정의 사용 시기를 지정하는 선택 조건을 지정할 수 있습니다. 선택 조건을 만드는 방법에 대한 자세한 내용은 데이터표시하기 위한 조건 정의를 참조하세요.
<ListEntry>
<EntrySelectedBy>
<TypeName>.NET Type</TypeName>
</EntrySelectedBy>
</ListEntry>
다음 XML 요소를 사용하여 목록 보기의 특정 정의에 사용되는 개체를 지정할 수 있습니다.
EntrySelectedBy 요소는 정의에 의해 표시되는 개체를 정의합니다.
TypeName 요소는 정의에 의해 표시되는 .NET 개체를 지정합니다. 이 요소를 사용하는 경우 정규화된 .NET 형식 이름이 필요합니다. 정의에 대해 하나 이상의 형식, 선택 집합 또는 선택 조건을 지정해야 하지만 지정할 수 있는 최대 요소 수는 없습니다.
SelectionSetName 요소(표시되지 않음)는 이 정의에서 표시할 수 있는 개체 집합을 지정합니다. 정의에 대해 하나 이상의 형식, 선택 집합 또는 선택 조건을 지정해야 하지만 지정할 수 있는 최대 요소 수는 없습니다.
SelectionCondition 요소(표시되지 않음)는 이 정의를 사용하려면 존재해야 하는 조건을 지정합니다. 정의에 대해 하나 이상의 형식, 선택 집합 또는 선택 조건을 지정해야 하지만 지정할 수 있는 최대 요소 수는 없습니다. 선택 조건 정의에 대한 자세한 내용은 데이터표시하기 위한 조건 정의를 참조하세요.
목록 보기에 개체 그룹 표시
목록 보기에 표시되는 개체를 그룹으로 구분할 수 있습니다. 즉, 특정 속성 또는 스크립트의 값이 변경되면 Windows PowerShell에서 새 그룹을 시작하는 경우에만 그룹을 정의할 수 있습니다. 다음 예제에서는 System.ServiceProcess.ServiceController.ServiceType 속성의 값이 변경될 때마다 새 그룹이 시작됩니다.
<GroupBy>
<Label>Service Type</Label>
<PropertyName>ServiceType</PropertyName>
</GroupBy>
다음 XML 요소는 그룹이 시작되는 시기를 정의하는 데 사용됩니다.
GroupBy 요소는 새 그룹을 시작하는 속성 또는 스크립트를 정의하고 그룹이 표시되는 방법을 정의합니다.
PropertyName 요소는 값이 변경 될 때마다 새 그룹을 시작하는 속성을 지정합니다. 그룹을 시작하려면 속성이나 스크립트를 지정해야 하지만 둘 다 지정할 수는 없습니다.
ScriptBlock 요소는 값이 변경 될 때마다 새 그룹을 시작하는 스크립트를 지정합니다. 그룹을 시작하려면 스크립트 또는 속성을 지정해야 하지만 둘 다 지정할 수는 없습니다.
Label 요소는 각 그룹의 시작 부분에 표시되는 레이블을 정의합니다. 이 요소에서 지정한 텍스트 외에도 Windows PowerShell은 새 그룹을 트리거한 값을 표시하고 레이블 앞과 뒤의 빈 줄을 추가합니다. 이 요소는 선택적입니다.
CustomControl 요소는 데이터를 표시하는 데 사용되는 컨트롤을 정의합니다. 이 요소는 선택적입니다.
CustomControlName 요소는 데이터를 표시하는 데 사용되는 공통 또는 뷰 컨트롤을 지정합니다. 이 요소는 선택적입니다.
그룹을 정의하는 전체 서식 파일의 예는 목록 보기(GroupBy)참조하세요.
형식 문자열 사용
서식 문자열을 뷰에 추가하여 데이터가 표시되는 방식을 추가로 정의할 수 있습니다. 다음 예제에서는 StartTime 속성의 값에 대 한 서식 문자열을 정의 하는 방법을 보여 있습니다.
<ListItem>
<PropertyName>StartTime</PropertyName>
<FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</ListItem>
다음 XML 요소를 사용하여 서식 패턴을 지정할 수 있습니다.
ListItem 요소는 뷰에 표시되는 데이터를 지정합니다.
PropertyName 요소는 값이 뷰에 표시되는 속성을 지정합니다. 속성 또는 스크립트를 지정해야 하지만 둘 다 지정할 수는 없습니다.
FormatString 요소는 속성 또는 스크립트 값이 뷰에 표시되는 방법을 정의하는 형식 패턴을 지정합니다.
ScriptBlock 요소(표시되지 않음)는 뷰에 값이 표시되는 스크립트를 지정합니다. 스크립트 또는 속성을 지정해야 하지만 둘 다 지정할 수는 없습니다.
다음 예제에서는 스크립트 값의 형식을 지정하기 위해 ToString 메서드가 호출됩니다. 스크립트는 개체의 모든 메서드를 호출할 수 있습니다. 따라서 개체에 서식 매개 변수가 있는 ToString같은 메서드가 있는 경우 스크립트는 해당 메서드를 호출하여 스크립트의 출력 값 형식을 지정할 수 있습니다.
<ListItem>
<ScriptBlock>
[string]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
</ScriptBlock>
</ListItem>
다음 XML 요소를 사용하여 ToString 메서드를 호출할 수 있습니다.
ListItem 요소는 뷰에 표시되는 데이터를 지정합니다.
ScriptBlock 요소(표시되지 않음)는 뷰에 값이 표시되는 스크립트를 지정합니다. 스크립트 또는 속성을 지정해야 하지만 둘 다 지정할 수는 없습니다.
또한 참조하십시오
PowerShell