Format-Table
출력을 테이블 형식으로 지정합니다.
구문
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-HideTableHeaders]
[-Wrap]
[-GroupBy <Object>][-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>][<CommonParameters>]
Description
Format-Table
cmdlet은 각 열에 있는 개체의 선택한 속성을 사용하여 명령 출력의 형식을 테이블로 지정합니다. 개체 형식은 각 열에 표시되는 기본 레이아웃과 속성을 결정하지만 Property 매개 변수를 사용하여 보려는 속성을 선택할 수 있습니다.
해시 테이블을 사용하여 개체를 표시하기 전에 개체에 계산 속성을 추가하고 테이블의 열 머리글을 지정할 수도 있습니다. 계산된 속성을 추가하려면 Property 또는 GroupBy 매개 변수를 사용합니다.
예제
예제 1: PowerShell 호스트 서식 지정
이 명령은 테이블에 PowerShell의 호스트 프로그램에 대한 정보를 표시합니다. 기본적으로 목록에 서식이 지정됩니다.
Get-Host | Format-Table -AutoSize
Get-Host
cmdlet은 호스트를 나타내는 개체를 가져옵니다. 파이프라인 연산자(|)는 개체를 Format-Table
cmdlet에 전달합니다.
Format-Table
cmdlet은 테이블의 개체 형식을 지정합니다.
AutoSize 매개 변수는 잘림을 최소화하기 위해 열 너비를 조정합니다.
예제 2: BasePriority별 프로세스 서식 지정
이 명령은 컴퓨터의 프로세스를 동일한 기본 우선 순위의 그룹으로 표시합니다.
Get-Process | Sort-Object -Property basepriority | Format-Table -GroupBy basepriority -Wrap
Get-Process cmdlet은 컴퓨터의 각 프로세스를 나타내는 개체를 가져옵니다. 파이프라인 연산자(|)는 개체를 Sort-Object cmdlet에 전달하여 개체를 기본 우선 순위 순서대로 정렬합니다.
다른 파이프라인 연산자는 결과를 Format-Table
cmdlet에 전달합니다.
GroupBy 매개 변수는 BasePriority 속성의 값에 따라 프로세스에 대한 데이터를 그룹으로 정렬합니다.
Wrap 매개 변수는 데이터가 잘리지 않도록 합니다.
예제 3: 시작 날짜별로 프로세스 서식 지정
Get-Process | Sort-Object starttime | Format-Table -View starttime
이 명령은 프로세스의 시작 날짜에 따라 그룹에 있는 컴퓨터의 프로세스에 대한 정보를 표시합니다. Get-Process cmdlet을 사용하여 컴퓨터의 프로세스를 나타내는 개체를 가져옵니다. 파이프라인 연산자(|)는 Get-Process
출력을 startTime 속성에 따라 정렬하는 Sort-Object
cmdlet으로 보냅니다. 다른 파이프라인 연산자는 정렬된 결과를 Format-Table
보냅니다.
View 매개 변수는 Get-Process
반환된 개체와 같이 System.Diagnostics.Process 개체의 DotNetTypes.format.ps1xml
파일에 정의된 StartTime 보기를 선택하는 데 사용됩니다. 이 보기는 프로세스의 StartTime 짧은 날짜로 변환한 다음 시작 날짜별로 프로세스를 그룹화합니다.
DotNetTypes.format.ps1xml
파일에는 프로세스에 대한 우선 순위 보기도 포함되어 있습니다. 사용자 지정된 보기를 사용하여 고유한 format.ps1xml 파일을 만들 수 있습니다.
예제 4: 서비스 서식 지정
Get-Service | Format-Table -Property Name, DependentServices
이 명령은 이름 및 Get-Service
cmdlet은 컴퓨터의 모든 서비스를 가져옵니다. 파이프라인 연산자(|)는 결과를 테이블의 출력 형식을 지정하는 Format-Table
cmdlet으로 보냅니다.
속성 매개 변수는 테이블에 열로 표시되는 속성을 지정합니다.
Property 매개 변수의 이름은 선택 사항이므로 생략할 수 있습니다(예: Format-Table Name, DependentServices
).
Name 및 DependentServices 서비스 개체의 속성 중 두 가지에 불과합니다. 모든 속성을 보려면 Get-Service | Get-Member -MemberType Properties
입력합니다.
예제 5: 프로세스 형식 지정 및 실행 시간 계산
이 명령은 테이블에서 계산된 속성을 사용하는 방법을 보여줍니다.
Get-Process Notepad | Format-Table ProcessName,
@{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}
이 명령은 로컬 컴퓨터의 모든 메모장 프로세스에 대한 프로세스 이름과 총 실행 시간을 가진 테이블을 표시합니다. 총 실행 시간은 현재 시간에서 각 프로세스의 시작 시간을 빼서 계산됩니다.
이 명령은 Get-Process
cmdlet을 사용하여 로컬 컴퓨터에서 메모장이라는 모든 프로세스를 가져옵니다.
파이프라인 연산자(|)는 결과를 Format-Table
보냅니다. 이 테이블은 프로세스의 표준 속성인 ProcessName과 계산된 속성인 TotalRunningTime이라는 두 개의 열이 있는 테이블을 표시합니다.
Get-Date
명령의 결과에서 뺍니다.
예제 6: 메모장 프로세스 서식 지정
이러한 명령은 Get-WmiObject
cmdlet을 사용한다는 점을 제외하고 이전 명령과 유사합니다.
$Processes = Get-WmiObject -ComputerName "Server01" -Class win32_process -Filter "name='notepad.exe'"
$Processes | Format-Table ProcessName, @{ Label = "Total Running Time"; Expression={(Get-Date) - $_.ConvertToDateTime($_.CreationDate)}}
첫 번째 명령은 Get-WmiObject
cmdlet을 사용하여 Notepad.exe
이름이 지정된 Server01 컴퓨터의 모든 프로세스를 설명하는 WMI Win32_Process 클래스의 인스턴스를 가져옵니다.
이 명령은 프로세스 정보를 $Processes
변수에 저장합니다.
두 번째 명령은 파이프라인 연산자(|)를 사용하여 $Processes
변수의 프로세스 정보를 Format-Table
cmdlet으로 보냅니다. 이 cmdlet에는 ProcessName 새 계산 속성이 표시됩니다.
이 명령은 새 계산 속성의 이름인 "Total Running Time"을 Label 키에 할당합니다.
Expression 키에 할당된 스크립트 블록은 프로세스의 생성 날짜를 현재 날짜에서 빼서 프로세스가 실행된 기간을 계산합니다.
Get-Date
cmdlet은 현재 날짜를 가져옵니다.
ConvertToDateTime 메서드는 Win32_Process 개체의 CreationDate 속성을 WMI CIM_DATETIME 개체에서 Get-Date
출력과 비교할 수 있는 .NET DateTime 개체로 변환합니다. 그런 다음 변환된 생성 날짜가 현재 날짜에서 뺍니다. 결과는 총 실행 시간값입니다.
예제 7: 형식 오류 문제 해결
다음 예제에서는 식이 있는 DisplayError 또는 ShowError 매개 변수를 추가한 결과를 보여 줍니다.
PC /> Get-Date | Format-Table DayOfWeek,{ $_ / $null } -DisplayError
DayOfWeek $_ / $null
--------- ------------
Wednesday #ERR
PC /> Get-Date | Format-Table DayOfWeek,{ $_ / $null } -ShowError
DayOfWeek $_ / $null
--------- ------------
Wednesday
Failed to evaluate expression " $_ / $null ".
+ CategoryInfo : InvalidArgument: (10/30/2013 2:28:07 PM:PSObject) \[\], RuntimeException
+ FullyQualifiedErrorId : mshExpressionError
매개 변수
-AutoSize
cmdlet이 데이터 너비에 따라 열 크기와 열 수를 조정한다는 것을 나타냅니다. 기본적으로 열 크기와 숫자는 뷰에 의해 결정됩니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DisplayError
명령줄에서 cmdlet에 오류가 표시됨을 나타냅니다. 이 매개 변수는 거의 사용되지 않지만 Format-Table
명령에서 식의 서식을 지정할 때 디버깅 보조로 사용할 수 있으며 식이 작동하지 않는 것처럼 보입니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Expand
컬렉션 개체의 형식과 컬렉션의 개체를 지정합니다. 이 매개 변수는 ICollection(System.Collections) 인터페이스를 지원하는 개체의 서식을 지정하도록 설계되었습니다. 기본값은 EnumOnly. 이 매개 변수에 허용되는 값은 다음과 같습니다.
- EnumOnly: 컬렉션에 있는 개체의 속성을 표시합니다.
- CoreOnly: 컬렉션 개체의 속성을 표시합니다.
- 둘 다: 컬렉션 개체의 속성과 컬렉션에 있는 개체의 속성을 표시합니다.
형식: | String |
허용되는 값: | CoreOnly, EnumOnly, Both |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Force
cmdlet이 모든 오류 정보를 표시하도록 cmdlet을 지시했음을 나타냅니다. DisplayError 또는 ShowError 매개 변수와 함께 사용합니다. 기본적으로 오류 개체가 오류 또는 표시 스트림에 기록되면 일부 오류 정보만 표시됩니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-GroupBy
속성 값에 따라 별도의 테이블에서 정렬된 출력을 지정합니다. 예를 들어 GroupBy 사용하여 상태에 따라 별도의 테이블에 서비스를 나열할 수 있습니다.
출력의 식 또는 속성을 입력합니다. 출력을 Format-Table
보내기 전에 정렬해야 합니다.
GroupBy 매개 변수의 값은 새 계산 속성일 수 있습니다. 계산된 속성을 만들려면 해시 테이블을 사용합니다. 유효한 키는 다음과 같습니다.
- 이름(또는 레이블) <문자열>
- 식 <문자열> 또는 <스크립트 블록>
- FormatString <문자열>
형식: | Object |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-HideTableHeaders
테이블에서 열 머리글을 생략합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-InputObject
서식을 지정할 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령이나 식을 입력합니다.
형식: | PSObject |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Property
표시에 표시되는 개체 속성과 표시되는 순서를 지정합니다. 하나 이상의 속성 이름을 입력하거나(쉼표로 구분) 해시 테이블을 사용하여 계산된 속성을 표시합니다. 와일드카드가 허용됩니다.
이 매개 변수를 생략하면 표시에 표시되는 속성은 첫 번째 개체의 속성에 따라 달라집니다. 예를 들어 첫 번째 개체에
매개 변수 이름 속성 선택 사항입니다. 동일한 명령에서 속성 및 보기 매개 변수를 사용할 수 없습니다.
Property 매개 변수의 값은 새 계산 속성일 수 있습니다. 계산된 속성을 만들려면 해시 테이블을 사용합니다. 유효한 키는 다음과 같습니다.
- 이름(또는 레이블) <문자열>
- 식 <문자열> 또는 <스크립트 블록>
- FormatString <문자열>
- width <int32>
- 맞춤(값은 "왼쪽", "가운데" 또는 "오른쪽"일 수 있습니다.)
형식: | Object[] |
Position: | 0 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
-ShowError
파이프라인을 통해 오류를 보냅니다. 이 매개 변수는 거의 사용되지 않지만 Format-Table
명령에서 식의 서식을 지정할 때 디버깅 보조로 사용할 수 있으며 식이 작동하지 않는 것처럼 보입니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-View
대체 테이블 형식 또는 뷰의 이름을 지정합니다. 동일한 명령에서 속성 및 보기 매개 변수를 사용할 수 없습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Wrap
다음 줄의 열 너비를 초과하는 텍스트를 표시합니다. 기본적으로 열 너비를 초과하는 텍스트는 잘립니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
모든 개체를 Format-Table
파이프할 수 있습니다.
출력
Microsoft.PowerShell.Commands.Internal.Format
Format-Table
테이블을 나타내는 형식 개체를 반환합니다.
참고
GroupBy 매개 변수는 개체가 정렬된 것으로 가정합니다.
Format-Table
사용하여 개체를 그룹화하기 전에 Sort-Object
cmdlet을 사용합니다.
View 매개 변수를 사용하면 테이블에 대한 대체 형식을 지정할 수 있습니다. PowerShell 디렉터리의 *.format.PS1XML
파일에 정의된 보기를 사용하거나 새 PS1XML 파일에서 고유한 보기를 만든 다음 Update-FormatData
cmdlet을 사용하여 PowerShell에 포함할 수 있습니다.
View 매개 변수에 대한 대체 뷰는 테이블 형식을 사용해야 합니다. 그렇지 않으면 명령이 실패합니다.
대체 보기가 목록인 경우 Format-List
cmdlet을 사용합니다. 대체 뷰가 목록이나 테이블이 아니면 Format-Custom
cmdlet을 사용합니다.