Bagikan melalui


Format-Table

Memformat output sebagai tabel.

Sintaks

Format-Table
      [[-Property] <Object[]>]
      [-AutoSize]
      [-RepeatHeader]
      [-HideTableHeaders]
      [-Wrap]
      [-GroupBy <Object>]
      [-View <string>]
      [-ShowError]
      [-DisplayError]
      [-Force]
      [-Expand <string>]
      [-InputObject <psobject>]
      [<CommonParameters>]

Deskripsi

cmdlet Format-Table memformat output perintah sebagai tabel dengan properti objek yang dipilih di setiap kolom. Jenis objek menentukan tata letak dan properti default yang ditampilkan di setiap kolom. Anda dapat menggunakan parameter Properti untuk memilih properti yang ingin Anda tampilkan.

PowerShell menggunakan pemformat default untuk menentukan bagaimana jenis objek ditampilkan. Anda dapat menggunakan file .ps1xml untuk membuat tampilan kustom yang menampilkan tabel output dengan properti tertentu. Setelah tampilan kustom dibuat, gunakan parameter Tampilkan untuk menampilkan tabel dengan tampilan kustom Anda. Untuk informasi selengkapnya tentang tampilan, lihat about_Format.ps1xml.

Anda bisa menggunakan tabel hash untuk menambahkan properti terhitung ke objek sebelum menampilkannya dan menentukan judul kolom dalam tabel. Untuk menambahkan properti terhitung, gunakan parameter Properti atau GroupBy. Untuk informasi selengkapnya tentang tabel hash, lihat about_Hash_Tables.

Contoh

Contoh 1: Format host PowerShell

Contoh ini menampilkan informasi tentang program host untuk PowerShell dalam tabel.

Get-Host | Format-Table -AutoSize

Cmdlet Get-Host mendapatkan System.Management.Automation.Internal.Host.InternalHost objek yang mewakili host. Objek dikirim ke alur untuk Format-Table dan ditampilkan dalam tabel. Parameter AutoSize menyesuaikan lebar kolom untuk meminimalkan pemotongan.

Contoh 2: Memformat proses menurut BasePriority

Dalam contoh ini, proses ditampilkan dalam grup yang memiliki properti BasePriority yang sama.

Get-Process | Sort-Object -Property BasePriority |
    Format-Table -GroupBy BasePriority -Wrap

cmdlet Get-Process mendapatkan objek yang mewakili setiap proses di komputer dan mengirimkannya ke alur ke Sort-Object. Objek diurutkan dalam urutan properti BasePriority.

Objek yang diurutkan dikirim ke alur ke Format-Table. Parameter GroupBy mengatur data proses ke dalam grup berdasarkan nilai properti BasePriority mereka. Parameter Bungkus memastikan bahwa data tidak terpotong.

Contoh 3: Memformat proses berdasarkan tanggal mulai

Contoh ini menampilkan informasi tentang proses yang berjalan pada komputer. Objek diurutkan dan Format-Table menggunakan tampilan untuk mengelompokkan objek berdasarkan tanggal mulainya.

Get-Process | Sort-Object StartTime | Format-Table -View StartTime

Get-Process mendapatkan System.Diagnostics.Process objek yang mewakili proses yang berjalan di komputer. Objek dikirimkan alur ke Sort-Object, dan diurutkan berdasarkan properti StartTime.

Objek yang diurutkan dikirim ke alur ke Format-Table. Parameter Tampilan menentukan tampilan StartTime yang ditentukan dalam file DotNetTypes.format.ps1xml PowerShell untuk objek System.Diagnostics.Process. Tampilan StartTime mengonversi setiap proses waktu mulai menjadi tanggal singkat lalu mengelompokkan proses berdasarkan tanggal mulai.

File DotNetTypes.format.ps1xml berisi tampilan Prioritas untuk proses. Anda dapat membuat file format.ps1xml Anda sendiri dengan tampilan yang disesuaikan.

Contoh 4: Menggunakan tampilan kustom untuk output tabel

Dalam contoh ini, tampilan kustom menampilkan konten direktori. Tampilan kustom menambahkan kolom CreationTime ke output tabel untuk System.IO.DirectoryInfo dan system.IO.FileInfo objek yang dibuat oleh Get-ChildItem.

Tampilan kustom dalam contoh ini dibuat dari tampilan yang ditentukan dalam kode sumber PowerShell. Untuk informasi selengkapnya tentang tampilan dan kode yang digunakan untuk membuat tampilan contoh ini, lihat about_Format.ps1xml.

Get-ChildItem  -Path C:\Test | Format-Table -View MyGciView

Directory: C:\Test

Mode                LastWriteTime              CreationTime         Length Name
----                -------------              ------------         ------ ----
d-----        11/4/2019     15:54       9/24/2019     15:54                Archives
d-----        8/27/2019     14:22       8/27/2019     14:22                Drawings
d-----       10/23/2019     09:38       2/25/2019     09:38                Files
-a----        11/7/2019     11:07       11/7/2019     11:07          11345 Alias.txt
-a----        2/27/2019     15:15       2/27/2019     15:15            258 alias_out.txt
-a----        2/27/2019     15:16       2/27/2019     15:16            258 alias_out2.txt

Get-ChildItem mendapatkan konten direktori saat ini, C:\Test. System.IO.DirectoryInfo dan objek System.IO.FileInfo dikirim ke alur. Format-Table menggunakan parameter Tampilan untuk menentukan tampilan kustom MyGciView yang menyertakan kolom CreationTime.

Output Format-Table default untuk Get-ChildItem tidak menyertakan kolom CreationTime.

Contoh 5: Menggunakan properti untuk output tabel

Contoh ini menggunakan parameter Properti untuk menampilkan semua layanan komputer dalam tabel dua kolom yang memperlihatkan properti Nama dan DependentServices.

Get-Service | Format-Table -Property Name, DependentServices

Get-Service mendapatkan semua layanan di komputer dan mengirim objek System.ServiceProcess.ServiceController ke bawah alur. Format-Table menggunakan parameter Properti untuk menentukan bahwa Nama dan properti DependentServices ditampilkan dalam tabel.

Nama dan DependentServices adalah dua properti jenis objek. Untuk melihat semua properti: Get-Service | Get-Member -MemberType Properties

Contoh 6: Memformat proses dan menghitung waktu berjalannya

Contoh ini menampilkan tabel dengan nama proses dan total waktu berjalan untuk notepad komputer lokal proses. Total waktu berjalan dihitung dengan mengurangi waktu mulai setiap proses dari waktu saat ini.

Get-Process notepad |
  Format-Table ProcessName, @{
    Label = "TotalRunningTime"
    Expression = {(Get-Date) - $_.StartTime}
}

ProcessName TotalRunningTime
----------- ----------------
notepad     03:20:00.2751767
notepad     00:00:16.7710520

Get-Process mendapatkan semua notepad komputer lokal proses dan mengirim objek ke bawah alur. Format-Table menampilkan tabel dengan dua kolom: ProcessName , properti Get-Process, dan TotalRunningTime, properti terhitung.

Properti TotalRunningTime ditentukan oleh tabel hash dengan dua kunci, Label dan ekspresi . Kunci Label menentukan nama properti. Kunci Ekspresi menentukan perhitungan. Ekspresi mendapatkan properti StartTime dari setiap objek proses dan menguranginya dari hasil perintah Get-Date, yang mendapatkan tanggal dan waktu saat ini.

Contoh 7: Memformat proses Notepad

Contoh ini menggunakan Get-CimInstance untuk mendapatkan waktu berjalan untuk semua proses notepad di komputer lokal. Anda dapat menggunakan Get-CimInstance dengan parameter ComputerName untuk mendapatkan informasi dari komputer jarak jauh.

$Processes = Get-CimInstance -Class Win32_Process -Filter "name='notepad.exe'"
$Processes | Format-Table ProcessName, @{
    Label = "Total Running Time"
    Expression = {(Get-Date) - $_.CreationDate}
}

ProcessName Total Running Time
----------- ------------------
notepad.exe 03:39:39.6260693
notepad.exe 00:19:56.1376922

Get-CimInstance mendapatkan instans kelas Win32_Process WMI yang menjelaskan semua proses komputer lokal bernama notepad.exe. Objek proses disimpan dalam variabel $Processes.

Objek proses dalam variabel $Processes dikirimkan alur ke Format-Table, yang menampilkan properti ProcessName dan properti terhitung baru, Total Waktu Berjalan.

Perintah menetapkan nama properti terhitung baru, Total Waktu Berjalan, ke kunci Label. Blok skrip kunci Ekspresi menghitung berapa lama proses telah berjalan dengan mengurangi tanggal pembuatan proses dari tanggal saat ini. Cmdlet Get-Date mendapatkan tanggal saat ini. Tanggal pembuatan dikurangi dari tanggal saat ini. Hasilnya adalah nilai Total Waktu Berjalan.

Contoh 8: Pemecahan masalah kesalahan format

Contoh berikut menunjukkan hasil penambahan parameter DisplayError atau ShowError dengan ekspresi.

Get-Date | Format-Table DayOfWeek, { $_ / $null } -DisplayError

DayOfWeek  $_ / $null
--------- ------------
Wednesday #ERR

Get-Date | Format-Table DayOfWeek, { $_ / $null } -ShowError

DayOfWeek  $_ / $null
--------- ------------
Wednesday

InvalidArgument: Failed to evaluate expression " $_ / $null ".

Parameter

-AutoSize

Menunjukkan bahwa cmdlet menyesuaikan ukuran kolom dan jumlah kolom berdasarkan lebar data. Secara default, ukuran dan angka kolom ditentukan oleh tampilan.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-DisplayError

Menunjukkan bahwa cmdlet menampilkan kesalahan pada baris perintah. Parameter ini dapat digunakan sebagai bantuan penelusuran kesalahan saat Anda memformat ekspresi dalam perintah Format-Table dan perlu memecahkan masalah ekspresi.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Expand

Menentukan format objek koleksi dan objek dalam koleksi. Parameter ini dirancang untuk memformat objek yang mendukung antarmuka ICollection(System.Collections). Nilai defaultnya adalah EnumOnly . Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:

  • EnumOnly: Menampilkan properti objek dalam koleksi.
  • CoreOnly: Menampilkan properti objek koleksi.
  • Kedua: Menampilkan properti objek koleksi dan properti objek dalam koleksi.
Jenis:String
Nilai yang diterima:CoreOnly, EnumOnly, Both
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Force

Menunjukkan bahwa cmdlet mengarahkan cmdlet untuk menampilkan semua informasi kesalahan. Gunakan dengan parameter DisplayError atau ShowError. Secara default, ketika objek kesalahan ditulis ke kesalahan atau menampilkan aliran, hanya beberapa informasi kesalahan yang ditampilkan.

Juga diperlukan saat memformat jenis .NET tertentu. Untuk informasi selengkapnya, lihat bagian Catatan.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-GroupBy

Menentukan output yang diurutkan dalam tabel terpisah berdasarkan nilai properti. Misalnya, Anda dapat menggunakan GroupBy untuk mencantumkan layanan dalam tabel terpisah berdasarkan statusnya.

Masukkan ekspresi atau properti. Parameter GroupBy mengharapkan objek diurutkan. Gunakan cmdlet Sort-Object sebelum menggunakan Format-Table untuk mengelompokkan objek.

Nilai parameter GroupBy dapat menjadi properti terhitung baru. Properti terhitung dapat berupa blok skrip atau tabel hash. Pasangan kunci-nilai yang valid adalah:

  • Nama (atau Label) - <string>
  • Ekspresi - <string> atau <script block>
  • FormatString - <string>

Untuk informasi selengkapnya, lihat about_Calculated_Properties.

Jenis:Object
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-HideTableHeaders

Menghilangkan judul kolom dari tabel.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-InputObject

Menentukan objek yang akan diformat. Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang mendapatkan objek.

Jenis:PSObject
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-Property

Menentukan properti objek yang muncul dalam tampilan dan urutan munculnya. Ketik satu atau beberapa nama properti, dipisahkan oleh koma, atau gunakan tabel hash untuk menampilkan properti terhitung. Kartubebas diizinkan.

Jika Anda menghilangkan parameter ini, properti yang muncul di tampilan bergantung pada properti objek pertama. Misalnya, jika objek pertama memiliki PropertyA dan PropertyB tetapi objek berikutnya memiliki PropertyA, PropertyB, dan PropertyC, maka hanya PropertyA dan PropertyB header yang ditampilkan.

Parameter Properti bersifat opsional. Anda tidak dapat menggunakan Properti dan parameter Tampilan dalam perintah yang sama.

Nilai parameter Properti dapat menjadi properti terhitung baru. Properti terhitung dapat berupa blok skrip atau tabel hash. Pasangan kunci-nilai yang valid adalah:

  • <string> Nama (atau Label)
  • Ekspresi - <string> atau <script block>
  • FormatString - <string>
  • Lebar - <int32> - harus lebih besar dari 0
  • Perataan - nilai dapat Left, Center, atau Right

Untuk informasi selengkapnya, lihat about_Calculated_Properties.

Jenis:Object[]
Position:0
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:True

-RepeatHeader

Mengulangi menampilkan header tabel setelah setiap layar penuh. Header berulang berguna ketika output disalurkan ke pager seperti less atau more atau halaman dengan pembaca layar.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-ShowError

Parameter ini mengirimkan kesalahan melalui alur. Parameter ini dapat digunakan sebagai bantuan penelusuran kesalahan saat Anda memformat ekspresi dalam perintah Format-Table dan perlu memecahkan masalah ekspresi.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-View

Dimulai di PowerShell 6, tampilan default ditentukan dalam PowerShell C# kode sumber. File *.format.ps1xml dari PowerShell 5.1 dan versi yang lebih lama tidak ada di PowerShell 6 dan versi yang lebih baru.

Parameter Tampilan memungkinkan Anda menentukan format alternatif atau tampilan kustom untuk tabel. Anda bisa menggunakan tampilan PowerShell default atau membuat tampilan kustom. Untuk informasi selengkapnya tentang cara membuat tampilan kustom, lihat about_Format.ps1xml.

Tampilan alternatif dan kustom untuk parameter View harus menggunakan format tabel, jika tidak, Format-Table gagal. Jika tampilan alternatif adalah daftar, gunakan cmdlet Format-List. Jika tampilan alternatif bukan daftar atau tabel, gunakan cmdlet Format-Custom.

Anda tidak dapat menggunakan Properti dan parameter Tampilan dalam perintah yang sama.

Jenis:String
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Wrap

Menampilkan teks yang melebihi lebar kolom pada baris berikutnya. Secara default, teks yang melebihi lebar kolom dipotong.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

Input

PSObject

Anda dapat menyalurkan objek apa pun ke cmdlet ini.

Output

Microsoft.PowerShell.Commands.Internal.Format

Cmdlet ini mengembalikan objek format yang mewakili tabel.

Catatan

PowerShell menyertakan alias berikut untuk Format-Table:

  • Semua platform:
    • ft

PowerShell 7.2 memperkenalkan fitur baru untuk mewarnai output. Warna dapat dikelola menggunakan variabel otomatis $PSStyle. Properti $PSStyle.Formatting.TableHeader menentukan warna yang digunakan untuk header tabel yang ditampilkan oleh Format-Table. Untuk informasi selengkapnya tentang pengaturan ini, lihat about_ANSI_Terminals.

Jika Anda ingin menggunakan Format-Table dengan parameter Properti, Anda perlu menyertakan parameter Force dalam salah satu kondisi berikut: