Format-Table
Memformat output sebagai tabel.
Sintaks
All
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
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
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.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Nilai yang diterima: | CoreOnly, EnumOnly, Both |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Force
Menunjukkan bahwa cmdlet mengarahkan cmdlet untuk menampilkan semua informasi kesalahan. Gunakan dengan parameter DisplayError atau ShowError. Secara default, ketika sebuah objek kesalahan dituliskan ke dalam aliran kesalahan atau tampilan, hanya beberapa informasi kesalahan yang ditampilkan.
Juga diperlukan saat memformat jenis .NET tertentu. Untuk informasi selengkapnya, lihat bagian Catatan.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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
- Nama (atau Label) -
<string> - Ekspresi -
<string>atau<script block> - FormatString -
<string>
Untuk informasi lebih lanjut, lihat tentang_Properti_Terhitung.
Properti parameter
| Jenis: | Object |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-HideTableHeaders
Menghilangkan judul kolom dari tabel.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-InputObject
Menentukan objek yang akan diformat. Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang mendapatkan objek.
Properti parameter
| Jenis: | PSObject |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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. Kartu liar 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
-
<string>Nama (atau Label) - Ekspresi -
<string>atau<script block> - FormatString -
<string> - Lebar -
<int32>- harus lebih besar dari0 - Perataan - nilai dapat
Left,Center, atauRight
Untuk informasi lebih lanjut, lihat tentang_Properti_Terhitung.
Properti parameter
| Jenis: | Object[] |
| Nilai default: | None |
| Mendukung wildcard: | True |
| DontShow: | False |
Set parameter
(All)
| Position: | 0 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-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.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Wrap
Menampilkan teks yang melebihi lebar kolom pada baris berikutnya. Secara default, teks yang melebihi lebar kolom dipotong.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
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 di bawah salah satu kondisi berikut:
Objek input biasanya diformat di luar band menggunakan metode
ToString(). Ini berlaku untuk jenis primitif[string]dan .NET, yang merupakan superset dari jenis numerik bawaan seperti[int],[long], dan lainnya.Objek input tidak memiliki properti publik.
Objek input adalah instans dari tipe pembungkus yang digunakan PowerShell untuk aliran output selain aliran output Sukses. Ini hanya berlaku ketika jenis pembungkus ini dikirim ke aliran output Berhasil yang mengharuskan untuk menangkapnya melalui parameter umum seperti ErrorVariable terlebih dahulu atau menggunakan pengalihan seperti
*>&1.