다음을 통해 공유


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

이 명령은 이름 및 DependentServices두 개의 열이 있는 테이블의 컴퓨터에 있는 모든 서비스를 표시합니다. Get-Service cmdlet은 컴퓨터의 모든 서비스를 가져옵니다. 파이프라인 연산자(|)는 결과를 테이블의 출력 형식을 지정하는 Format-Table cmdlet으로 보냅니다. 속성 매개 변수는 테이블에 열로 표시되는 속성을 지정합니다. Property 매개 변수의 이름은 선택 사항이므로 생략할 수 있습니다(예: Format-Table Name, DependentServices).

NameDependentServices 서비스 개체의 속성 중 두 가지에 불과합니다. 모든 속성을 보려면 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이라는 두 개의 열이 있는 테이블을 표시합니다.

TotalRunningTime 속성은 레이블 및 두 개의 키가 있는 해시 테이블에 의해 지정됩니다. 속성 이름은 Label 키에 할당됩니다. 계산은 키에 할당됩니다. 식은 각 프로세스 개체의 StartTime 속성을 가져오고 현재 날짜 및 시간을 가져오는 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

표시에 표시되는 개체 속성과 표시되는 순서를 지정합니다. 하나 이상의 속성 이름을 입력하거나(쉼표로 구분) 해시 테이블을 사용하여 계산된 속성을 표시합니다. 와일드카드가 허용됩니다.

이 매개 변수를 생략하면 표시에 표시되는 속성은 첫 번째 개체의 속성에 따라 달라집니다. 예를 들어 첫 번째 개체에 PropertyAPropertyB 있지만 후속 개체에 PropertyA있는 경우 PropertyBPropertyC PropertyAPropertyB 헤더만 표시됩니다.

매개 변수 이름 속성 선택 사항입니다. 동일한 명령에서 속성보기 매개 변수를 사용할 수 없습니다.

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

입력

PSObject

모든 개체를 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을 사용합니다.