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
Format-Table
Cmdlet 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 .ps1xml
file untuk membuat tampilan kustom yang menampilkan tabel output dengan properti tertentu. Setelah tampilan kustom dibuat, gunakan parameter Tampilan 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 objek System.Management.Automation.Internal.Host.InternalHost yang mewakili host. Objek dikirim ke alur ke 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
Get-Process
Cmdlet mendapatkan objek yang mewakili setiap proses di komputer dan mengirimkannya ke alur ke Sort-Object
. Objek diurutkan dalam urutan properti BasePriority mereka.
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 objek System.Diagnostics.Process yang mewakili proses yang berjalan di komputer. Objek dikirim ke 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 PowerShell DotNetTypes.format.ps1xml
untuk objek System.Diagnostics.Process . Tampilan StartTime mengonversi setiap proses waktu mulai menjadi tanggal pendek lalu mengelompokkan proses berdasarkan tanggal mulai.
File DotNetTypes.format.ps1xml
berisi tampilan Prioritas untuk proses. Anda dapat membuat file Anda sendiri format.ps1xml
dengan tampilan yang dikustomisasi.
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 objek System.IO.DirectoryInfo dan System.IO.FileInfo 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
. Objek System.IO.DirectoryInfo dan System.IO.FileInfo dikirim ke alur.
Format-Table
menggunakan parameter Tampilan untuk menentukan tampilan kustom mygciview yang menyertakan kolom CreationTime.
Output default Format-Table
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 properti Nama dan 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 proses notepad komputer lokal. 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 proses notepad komputer lokal dan mengirim objek ke bawah alur. Format-Table
menampilkan tabel dengan dua kolom: ProcessName, Get-Process
properti, 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 Get-Date
perintah, yang mendapatkan tanggal dan waktu saat ini.
Contoh 7: Memformat proses Notepad
Contoh ini digunakan 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 $Processes
variabel .
Objek proses dalam $Processes
variabel dikirim ke 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. Get-Date
Cmdlet 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 Format-Table
perintah 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.
- Keduanya: 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.
Sort-Object
Gunakan cmdlet 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 header PropertyA dan PropertyB yang ditampilkan.
Parameter Properti bersifat opsional. Anda tidak dapat menggunakan parameter Properti dan 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:
- Nama (atau Label)
<string>
- Ekspresi -
<string>
atau<script block>
- FormatString -
<string>
- Lebar -
<int32>
- harus lebih besar dari0
- Perataan - nilai dapat berupa
Left
,Center
, atauRight
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 atau more
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 Format-Table
perintah 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 kode sumber PowerShell C#
. 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 Tampilan harus menggunakan format tabel, jika tidak, Format-Table
gagal. Jika tampilan alternatif adalah daftar, gunakan Format-List
cmdlet . Jika tampilan alternatif bukan daftar atau tabel, gunakan Format-Custom
cmdlet .
Anda tidak dapat menggunakan parameter Properti dan 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
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 $PSStyle
variabel otomatis. 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 Paksa dalam salah satu kondisi berikut:
Objek input biasanya diformat di luar band menggunakan
ToString()
metode . Ini berlaku untuk[string]
dan jenis primitif .NET, yang merupakan superset dari jenis numerik bawaan seperti[int]
,[long]
, dan lainnya.Objek input tidak memiliki properti publik.
Objek input adalah instans jenis pembungkus yang digunakan PowerShell untuk aliran output selain aliran output Keberhasilan. Ini hanya berlaku ketika jenis pembungkus ini dikirim ke aliran output Berhasil yang memerlukan pengambilan melalui parameter umum seperti ErrorVariable terlebih dahulu atau menggunakan pengalihan seperti
*>&1
.