Format-Table
출력 형식을 테이블로 지정합니다.
구문
Format-Table [[-Property] <Object[]>] [-AutoSize] [-DisplayError] [-Expand <string>] [-Force] [-GroupBy <Object>] [-HideTableHeaders] [-InputObject <psobject>] [-ShowError] [-View <string>] [-Wrap] [<CommonParameters>]
설명
Format-Table cmdlet은 명령의 출력 형식을 테이블로 지정하고 각 열의 개체에 대해 선택한 속성을 함께 표시합니다. 개체 유형은 각 열에 표시되는 기본 레이아웃 및 속성을 결정하지만 Property 매개 변수를 사용하여 표시할 속성을 선택할 수 있습니다.
해시 테이블을 사용하여 계산된 속성을 개체에 추가한 후에 표시할 수도 있고 테이블의 열 머리글을 지정할 수도 있습니다. 계산된 속성을 추가하려면 Property 또는 GroupBy 매개 변수를 사용하십시오.
매개 변수
-AutoSize
데이터의 너비에 따라 열 크기 및 열 수를 조정합니다. 기본적으로 열 크기 및 수는 보기에 의해 결정됩니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-DisplayError
명령줄에 오류를 표시합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Expand <string>
컬렉션의 개체와 함께 컬렉션 개체의 형식을 지정합니다. 이 매개 변수는 ICollection (System.Collections) 인터페이스를 지원하는 개체의 형식을 지정하도록 디자인되었습니다. 기본값은 EnumOnly입니다.
유효한 값은 다음과 같습니다.
-- EnumOnly: 컬렉션에 있는 개체의 속성을 표시합니다.
-- CoreOnly: 컬렉션 개체의 속성을 표시합니다.
-- Both: 컬렉션 개체의 속성 및 컬렉션에 있는 개체의 속성을 표시합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Force
cmdlet에 모든 오류 정보를 표시하도록 지시합니다. DisplayError 또는 ShowError 매개 변수와 함께 사용합니다. 기본적으로 오류 개체를 오류 또는 표시 스트림에 쓸 때 일부 오류 정보만 표시됩니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-GroupBy <Object>
정렬된 출력을 속성 값에 따라 별도 테이블에 정렬합니다. 예를 들어 GroupBy를 사용하여 서비스를 상태에 따라 별도의 테이블에 나열할 수 있습니다.
출력의 식이나 속성을 입력합니다. Format-Table로 보내기 전에 먼저 출력을 정렬해야 합니다.
GroupBy 매개 변수의 값은 새로 계산된 속성일 수 있습니다. 계산된 속성을 만들려면 해시 테이블을 사용합니다. 유효한 키는 다음과 같습니다.
-- Name(또는 Label) <string>
-- Expression <string> 또는 <script block>
-- FormatString <string>
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-HideTableHeaders
테이블에서 열 머리글을 생략합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-InputObject <psobject>
형식을 지정할 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하십시오.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByValue) |
와일드카드 문자 적용 여부 |
false |
-Property <Object[]>
표시에 나타나는 개체 속성 및 나타나는 순서를 지정합니다. 하나 이상의 속성 이름을 쉼표로 구분하여 입력하거나 해시 테이블을 사용하여 계산된 속성을 표시합니다. 와일드카드를 사용할 수 있습니다.
이 매개 변수를 생략하면 표시에 나타나는 속성이 표시되는 개체에 따라 달라집니다. 매개 변수 이름("Property")은 선택 사항입니다. Property 및 View 매개 변수를 같은 명령에 사용할 수 없습니다.
Property 매개 변수의 값은 새로 계산된 속성일 수 있습니다. 계산된 속성을 만들려면 해시 테이블을 사용합니다. 유효한 키는 다음과 같습니다.
-- Name(또는 Label) <string>
-- Expression <string> 또는 <script block>
-- FormatString <string>
-- Width <int32>
-- Alignment("Left", "Center" 또는 "Right")
필수 여부 |
false |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-ShowError
파이프라인을 통해 오류를 보냅니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-View <string>
대체 테이블 형식 또는 "보기"의 이름을 지정합니다. Property 및 View 매개 변수를 같은 명령에 사용할 수 없습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Wrap
다음 줄에 열 너비를 초과하는 텍스트를 표시합니다. 기본적으로 열 너비를 초과하는 텍스트는 잘립니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
<CommonParameters>
이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.
입력 및 출력
입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.
입력 |
System.Management.Automation.PSObject 임의의 개체를 Format-Table로 파이프할 수 있습니다. |
출력 |
Microsoft.PowerShell.Commands.Internal.Format Format-Table은 테이블을 나타내는 형식 개체를 반환합니다. |
참고
또한 해당 기본 제공 별칭("FT")으로 Format-Table을 참조할 수 있습니다. 자세한 내용은 about_Aliases를 참조하십시오.
GroupBy 매개 변수는 개체가 정렬된 것으로 가정합니다. Format-Custom을 사용하여 개체를 그룹화하기 전에 Sort-Object를 사용하여 개체를 정렬하십시오.
View 매개 변수를 사용하면 테이블에 대해 다른 형식을 지정할 수 있습니다. Windows PowerShell 디렉터리에서 *.format.PS1XML 파일에 정의된 보기를 사용하거나 새로운 PS1XML 파일에서 자신만의 보기를 만들고 Update-FormatData cmdlet을 사용하여 Windows PowerShell에 포함할 수 있습니다.
View 매개 변수에 대한 다른 보기는 테이블 형식을 사용해야 합니다. 그렇지 않으면 명령이 실패합니다. 다른 보기가 목록이라면 Format-List를 사용하십시오. 대체 보기가 목록이나 테이블이 아니라면 Format-Custom을 사용하십시오.
예 1
C:\PS>get-pssnapin | format-table -auto
설명
-----------
이 명령은 테이블의 모든 Windows PowerShell 스냅인에 대한 정보의 형식을 지정합니다. 기본적으로 이 정보 형식은 목록으로 지정됩니다. Get-PSSnapin cmdlet은 스냅인을 나타내는 개체를 가져옵니다. 파이프라인 연산자(|)는 Format-Table 명령으로 개체를 전달합니다. Format-Table은 테이블의 개체 형식을 지정합니다. Autosize 매개 변수는 최대한 잘리지 않도록 열 너비를 조정합니다.
예 2
C:\PS>get-process | sort-object -property basepriority | format-table -groupby basepriority -wrap
설명
-----------
이 명령은 컴퓨터의 프로세스를 기본 우선 순위가 같은 프로세스별로 그룹화하여 표시합니다.
Get-Process cmdlet은 컴퓨터의 각 프로세스를 나타내는 개체를 가져옵니다. 파이프라인 연산자(|)가 개체를 Sort-Object cmdlet으로 전달하면 이 cmdlet은 개체를 기본 우선 순위 순으로 정렬합니다.
다른 파이프라인 연산자(|)는 결과를 Format-Table 명령으로 전달합니다. GroupBy 매개 변수는 프로세스에 대한 데이터를 BasePriority 속성 값에 따라 그룹으로 정렬합니다. Wrap 매개 변수는 데이터가 잘리지 않도록 합니다.
예 3
C:\PS>get-process | sort-object starttime | format-table -view starttime
설명
-----------
이 명령은 프로세스의 시작 날짜에 따라 그룹화된 컴퓨터의 프로세스에 대한 정보를 표시하고 Get-Process cmdlet을 사용하여 컴퓨터의 프로세스를 나타내는 개체를 가져옵니다. 파이프라인 연산자(|)는 Get-Process의 출력을 Sort-Object cmdlet으로 전달하고 Sort-Object cmdlet은 이를 StartTime 속성에 따라 정렬합니다. 다른 파이프라인 연산자는 Format-Table로 정렬된 결과를 보냅니다.
View 매개 변수는 Get-Process에서 반환한 개체처럼 System.Diagnostics.Process 개체에 대해 DotNetTypes.format.ps1xml 형식 지정 파일에 정의된 StartTime 보기를 선택하는 데 사용됩니다. 이 보기는 프로세스의 StartTime을 간단한 날짜로 변환한 다음 시작 날짜별로 프로세스를 그룹화합니다.
DotNetTypes.format.ps1xml 형식 지정 파일에도 프로세스에 대한 우선 순위 보기가 포함되어 있으며 사용자 지정된 보기로 직접 format.ps1xml 파일을 만들 수 있습니다.
예 4
C:\PS>get-service | format-table -property Name, DependentServices
설명
-----------
이 명령은 Name과 DependentServices라는 두 개의 열이 있는 표에 컴퓨터의 서비스를 모두 표시하고 Get-Service cmdlet을 사용하여 컴퓨터의 모든 서비스를 가져옵니다. 파이프라인 연산자(|)는 Format-Table cmdlet으로 결과를 보내고 그러면 이 cmdlet은 서비스를 테이블 형식으로 표시합니다. Property 매개 변수는 표에 열로 나타나는 속성을 지정합니다. Property 매개 변수 이름("format-table name, dependentservices")은 선택 사항이므로 생략할 수 있습니다.
Property 및 DependentServices는 서비스 개체의 두 속성입니다. 속성을 모두 보려면 "get-service | get-member"를 입력하십시오.
예 5
C:\PS>get-process notepad | format-table ProcessName, `
@{Label="TotalRunningTime"; Expression={(get-date) - $_.StartTime}}
설명
-----------
이 명령은 표에 계산된 속성 사용 방법을 표시하고 로컬 컴퓨터의 모든 메모장 프로세스의 프로세스 이름과 총 실행 시간이 있는 테이블을 표시합니다. 총 실행 시간은 현재 시간에서 각 프로세스의 시작 시간을 빼서 계산합니다.
이 명령은 Get-Process cmdlet을 사용하여 로컬 컴퓨터에서 "Notepad"라는 이름의 프로세스를 모두 가져옵니다. 파이프라인 연산자(|)는 Format-Table로 결과를 보내고 Format-Table cmdlet은 프로세스의 표준 속성인 ProcessName과 계산된 속성인 TotalRunningTime, 두 열로 구성된 테이블을 표시합니다.
TotalRunningTime 속성은 Label과 Expression이라는 두 개의 키가 있는 해시 테이블에서 지정됩니다. 속성 이름은 Label 키에 할당됩니다. 계산은 Expression 키에 할당됩니다. 식은 각 프로세스 개체의 StartTime 속성을 가져와 현재 날짜 및 시간을 구하는 Get-Date 명령의 결과에서 뺍니다.
예 6
C:\PS>$processes = get-wmiobject -ComputerName Server01 win32_process -filter "name='notepad.exe'"
C:\PS> $processes | format-table ProcessName, @{ Label = "Total Running Time"; `
Expression={(get-date) - $_.ConvertToDateTime($_.CreationDate)}}
설명
-----------
이들 명령은 이전 명령과 비슷합니다. 단 이 명령은 Get-WmiObject cmdlet 및 Win32_Process 클래스를 사용하여 원격 컴퓨터의 메모장 프로세스에 대한 정보를 표시한다는 점은 다릅니다.
첫 번째 명령은 Get-WmiObject cmdlet을 사용하여 Server01 컴퓨터에서 이름이 Notepad.exe라는 모든 프로세스를 설명하는 WMI(Windows Management Instrumentation) Win32_Process 클래스의 인스턴스를 검색하고 $processes 변수에 프로세스 정보를 저장합니다.
두 번째 명령은 파이프라인 연산자(|)를 사용하여 $processes 변수의 프로세스 정보를 Format-Table cmdlet으로 보내고 Format-Table cmdlet은 각 프로세스의 ProcessName과 새로 계산된 속성을 함께 표시합니다.
이 명령은 새로 계산된 속성 "Total Running Time"을 Label 키에 할당합니다. Expression 키에 할당된 스크립트 블록이 현재 날짜에서 프로세스 만든 날짜를 빼서 프로세스 실행 시간을 계산합니다. Get-Date cmdlet은 현재 날짜를 가져옵니다. ConvertToDateTime 메서드는 WMI CIM_DATETIME 개체에서 Win32_Process 개체의 CreationDate 속성을 Get-Date의 출력과 비교할 수 있는 Microsoft .NET Framework DateTime 개체로 변환합니다. 그런 다음 현재 날짜에서 변환된 만든 날짜를 뺍니다. 그 결과가 Total Running Time의 값입니다.
역음 문자(`)는 줄 계속 문자입니다.