다음을 통해 공유


Format-Table

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

구문

Default (기본값)

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 매개 변수는 반환된 개체와 같이 DotNetTypes.format.ps1xml 개체의 파일에 정의된 Get-Process 보기를 선택하는 데 사용됩니다. 이 보기는 프로세스의 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을 사용하여 이름이 지정된 Server01 컴퓨터의 모든 프로세스를 설명하는 WMI Notepad.exe 클래스의 인스턴스를 가져옵니다. 이 명령은 프로세스 정보를 $Processes 변수에 저장합니다.

두 번째 명령은 파이프라인 연산자(|)를 사용하여 $Processes 변수의 프로세스 정보를 Format-Table cmdlet으로 보냅니다. 이 cmdlet에는 ProcessName 새 계산 속성이 표시됩니다.

이 명령은 새 계산 속성의 이름인 "Total Running Time"을 Label 키에 할당합니다. Expression 키에 할당된 스크립트 블록은 프로세스의 생성 날짜를 현재 날짜에서 빼서 프로세스가 실행된 기간을 계산합니다. Get-Date cmdlet은 현재 날짜를 가져옵니다. ConvertToDateTime 메서드는 Win32_Process 개체의 CreationDate 속성을 WMI CIM_DATETIME 개체에서 출력과 비교할 수 있는 .NET Get-Date 개체로 변환합니다. 그런 다음 변환된 생성 날짜가 현재 날짜에서 뺍니다. 결과는 총 실행 시간값입니다.

예제 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
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-DisplayError

명령줄에서 cmdlet에 오류가 표시됨을 나타냅니다. 이 매개 변수는 거의 사용되지 않지만 Format-Table 명령에서 식의 서식을 지정할 때 디버깅 보조로 사용할 수 있으며 식이 작동하지 않는 것처럼 보입니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Expand

컬렉션 개체의 형식과 컬렉션의 개체를 지정합니다. 이 매개 변수는 ICollection(System.Collections) 인터페이스를 지원하는 개체의 서식을 지정하도록 설계되었습니다. 기본값은 EnumOnly. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • EnumOnly: 컬렉션에 있는 개체의 속성을 표시합니다.
  • CoreOnly: 컬렉션 개체의 속성을 표시합니다.
  • 둘 다: 컬렉션 개체의 속성과 컬렉션에 있는 개체의 속성을 표시합니다.

매개 변수 속성

형식:String
Default value:None
허용되는 값:CoreOnly, EnumOnly, Both
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Force

cmdlet이 모든 오류 정보를 표시하도록 cmdlet을 지시했음을 나타냅니다. DisplayError 또는 ShowError 매개 변수와 함께 사용합니다. 기본적으로 오류 개체가 오류 또는 표시 스트림에 기록되면 일부 오류 정보만 표시됩니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-GroupBy

속성 값에 따라 별도의 테이블에서 정렬된 출력을 지정합니다. 예를 들어 GroupBy 사용하여 상태에 따라 별도의 테이블에 서비스를 나열할 수 있습니다.

출력의 식 또는 속성을 입력합니다. 출력을 Format-Table보내기 전에 정렬해야 합니다.

GroupBy 매개 변수의 값은 새 계산 속성일 수 있습니다. 계산된 속성을 만들려면 해시 테이블을 사용합니다. 유효한 키는 다음과 같습니다.

  • 이름(또는 레이블) <문자열>
  • 식 <문자열> 또는 <스크립트 블록>
  • FormatString <문자열>

매개 변수 속성

형식:Object
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-HideTableHeaders

테이블에서 열 머리글을 생략합니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-InputObject

포맷할 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령이나 식을 입력합니다.

매개 변수 속성

형식:PSObject
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:True
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Property

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

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

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

Property 매개 변수의 값은 새 계산 속성일 수 있습니다. 계산된 속성을 만들려면 해시 테이블을 사용합니다. 유효한 키는 다음과 같습니다.

  • 이름(또는 레이블) <문자열>
  • 식 <문자열> 또는 <스크립트 블록>
  • FormatString <문자열>
  • width <int32>
  • 맞춤(값은 "왼쪽", "가운데" 또는 "오른쪽"일 수 있습니다.)

매개 변수 속성

형식:

Object[]

Default value:None
와일드카드 지원:True
DontShow:False

매개 변수 집합

(All)
Position:0
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-ShowError

파이프라인을 통해 에러를 전송합니다. 이 매개 변수는 거의 사용되지 않지만 Format-Table 명령에서 식의 서식을 지정할 때 디버깅 보조로 사용할 수 있으며 식이 작동하지 않는 것처럼 보입니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-View

대체 테이블 형식 또는 뷰의 이름을 지정합니다. 동일한 명령에서 속성보기 매개 변수를 사용할 수 없습니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Wrap

다음 줄의 열 너비를 초과하는 텍스트를 표시합니다. 기본적으로 열 너비를 초과하는 텍스트는 잘립니다.

매개 변수 속성

형식:SwitchParameter
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

CommonParameters

이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.

입력

PSObject

모든 개체를 Format-Table파이프할 수 있습니다.

출력

Microsoft.PowerShell.Commands.Internal.Format

Format-Table 테이블을 나타내는 형식 개체를 반환합니다.

참고

GroupBy 매개 변수는 개체가 정렬된 것으로 가정합니다. Sort-Object 사용하여 개체를 그룹화하기 전에 Format-Table cmdlet을 사용합니다.

View 매개 변수를 사용하면 테이블에 대한 대체 형식을 지정할 수 있습니다. PowerShell 디렉터리의 *.format.PS1XML 파일에 정의된 보기를 사용하거나 새 PS1XML 파일에서 고유한 보기를 만든 다음 Update-FormatData cmdlet을 사용하여 PowerShell에 포함할 수 있습니다. View 매개 변수에 대한 대체 뷰는 테이블 형식을 사용해야 합니다. 그렇지 않으면 명령이 실패합니다. 대체 보기가 목록인 경우 Format-List cmdlet을 사용합니다. 대체 뷰가 목록이나 테이블이 아니면 Format-Custom cmdlet을 사용합니다.