출력 형식을 테이블로 지정합니다.

구문

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의 값입니다.

역음 문자(`)는 줄 계속 문자입니다.






참고 항목




목차