Format-Table
Çıktıyı tablo olarak biçimlendirır.
Sözdizimi
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-RepeatHeader]
[-HideTableHeaders]
[-Wrap]
[-GroupBy <Object>]
[-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>]
[<CommonParameters>]
Description
Format-Table
cmdlet'i, bir komutun çıkışını tablo olarak her sütundaki nesnenin seçili özellikleriyle biçimlendirır. Nesne türü, her sütunda görüntülenen varsayılan düzeni ve özellikleri belirler. görüntülemek istediğiniz özellikleri seçmek için Özelliği parametresini kullanabilirsiniz.
PowerShell, nesne türlerinin nasıl görüntüleneceğini tanımlamak için varsayılan biçimlendiricileri kullanır. Belirtilen özelliklere sahip bir çıkış tablosu görüntüleyen özel görünümler oluşturmak için .ps1xml
dosyaları kullanabilirsiniz. Özel görünüm oluşturulduktan sonra, tabloyu özel görünümünüzle görüntülemek için Görünüm parametresini kullanın. Görünümler hakkında daha fazla bilgi için bkz. about_Format.ps1xml.
Karma tabloyu, görüntülemeden önce bir nesneye hesaplanan özellikler eklemek ve tablodaki sütun başlıklarını belirtmek için kullanabilirsiniz. Hesaplanan özellik eklemek için Özelliği veya GroupBy parametresini kullanın. Karma tablolar hakkında daha fazla bilgi için bkz. about_Hash_Tables.
Örnekler
Örnek 1: PowerShell ana bilgisayarını biçimlendirme
Bu örnek, bir tabloda PowerShell için konak programı hakkındaki bilgileri görüntüler.
Get-Host | Format-Table -AutoSize
Get-Host
cmdlet'i, konağı temsil eden System.Management.Automation.Internal.Host.InternalHost nesnelerini alır. Nesneler Format-Table
için işlem hattına gönderilir ve bir tabloda görüntülenir.
AutoSize parametresi, kesmeyi en aza indirmek için sütun genişliklerini ayarlar.
Örnek 2: İşlemleri BasePriority'ye göre biçimlendirme
Bu örnekte işlemler aynı BasePriority özelliğine sahip gruplarda görüntülenir.
Get-Process | Sort-Object -Property BasePriority |
Format-Table -GroupBy BasePriority -Wrap
Get-Process
cmdlet'i bilgisayardaki her işlemi temsil eden nesneleri alır ve bunları Sort-Object
işlem hattına gönderir. Nesneler, BasePriority özelliğine göre sıralanır.
Sıralanan nesneler Format-Table
işlem hattına gönderilir.
GroupBy parametresi, işlem verilerini BasePriority özelliğinin değerine göre gruplar halinde düzenler.
Wrap parametresi verilerin kesilmemesini sağlar.
Örnek 3: İşlemleri başlangıç tarihine göre biçimlendirme
Bu örnekte, bilgisayarda çalışan işlemler hakkında bilgiler görüntülenir. Nesneler sıralanır ve Format-Table
, nesneleri başlangıç tarihlerine göre gruplandırmak için bir görünüm kullanır.
Get-Process | Sort-Object StartTime | Format-Table -View StartTime
Get-Process
, bilgisayarda çalışan işlemleri temsil eden System.Diagnostics.Process nesnelerini alır. Nesneler Sort-Object
işlem hattına gönderilir ve StartTime özelliğine göre sıralanır.
Sıralanan nesneler Format-Table
işlem hattına gönderilir.
Görünüm parametresi, System.Diagnostics.Process nesneleri için PowerShell DotNetTypes.format.ps1xml
dosyasında tanımlanan StartTime görünümünü belirtir.
StartTime görünümü her işlemin başlangıç saatini kısa bir tarihe dönüştürür ve ardından işlemleri başlangıç tarihine göre gruplandırır.
DotNetTypes.format.ps1xml
dosyası, işlemler için bir Öncelik görünümü içerir. Özelleştirilmiş görünümlerle kendi format.ps1xml
dosyalarınızı oluşturabilirsiniz.
Örnek 4: Tablo çıkışı için özel görünüm kullanma
Bu örnekte, özel görünüm bir dizinin içeriğini görüntüler. Özel görünüm, tarafından oluşturulan System.IO.DirectoryInfo ve System.IO.FileInfo nesnelerinin tablo çıkışına Get-ChildItem
sütununu ekler.
Bu örnekteki özel görünüm, PowerShell kaynak kodunda tanımlanan görünümden oluşturulmuştur. Görünümler ve bu örneğin görünümünü oluşturmak için kullanılan kod hakkında daha fazla bilgi için bkz. 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
geçerli dizinin içeriğini alır C:\Test
.
System.IO.DirectoryInfo ve System.IO.FileInfo nesneleri işlem hattına gönderilir.
Format-Table
, myGciView CreationTime sütununu içeren özel görünümü belirtmek için Görünüm parametresini kullanır.
Format-Table
için varsayılan Get-ChildItem
çıkışı CreationTime sütununu içermez.
Örnek 5: Tablo çıktısı için özellikleri kullanma
Bu örnekte, ad ve DependentServices özelliklerini gösteren iki sütunlu bir tabloda bilgisayarın tüm hizmetlerini görüntülemek için Özelliği parametresi kullanılmaktadır.
Get-Service | Format-Table -Property Name, DependentServices
Get-Service
bilgisayardaki tüm hizmetleri alır ve System.ServiceProcess.ServiceController nesnelerini işlem hattına gönderir.
Format-Table
Özelliği parametresini kullanarak Adı ve DependentServices özelliklerinin tabloda görüntüleneceğini belirtir.
Name ve DependentServices nesne türünün özelliklerinden ikisidir. Tüm özellikleri görüntülemek için: Get-Service | Get-Member -MemberType Properties
Örnek 6: Bir işlemi biçimlendirme ve çalışma süresini hesaplama
Bu örnekte, yerel bilgisayarın not defteri işlemleri için işlem adı ve toplam çalışma süresine sahip bir tablo görüntülenir. Toplam çalışma süresi, her işlemin başlangıç saati geçerli saatten çıkarılarak hesaplanır.
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
, tüm yerel bilgisayarın not defteri işlemlerini alır ve nesneleri işlem hattına gönderir.
Format-Table
iki sütunlu bir tablo görüntüler: ProcessName, bir Get-Process
özelliği ve hesaplanan bir özellik olan TotalRunningTime .
TotalRunningTime özelliği, Label ve Expressionolmak üzere iki anahtara sahip bir karma tablo tarafından belirtilir.
Etiketi anahtarı özellik adını belirtir.
İfadesi anahtarı hesaplamayı belirtir. İfade, her işlem nesnesinin StartTime özelliğini alır ve geçerli tarih ve saati alan bir Get-Date
komutunun sonucundan çıkarır.
Örnek 7: Not Defteri işlemlerini biçimlendirme
Bu örnekte, yerel bilgisayardaki tüm Get-CimInstance
işlemleri için çalışma süresi elde etmek için kullanılır. Uzak bilgisayarlardan bilgi almak için Get-CimInstance
parametresiyle kullanabilirsiniz.
$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
, notepad.exeadlı tüm yerel bilgisayarın işlemlerini açıklayan WMI Win32_Process sınıfının örneklerini alır. İşlem nesneleri $Processes
değişkeninde depolanır.
$Processes
değişkenindeki işlem nesneleri işlem hattına Format-Table
gönderilir. Bu işlem hattı, ProcessName özelliğini ve yeni bir hesaplanan özelliği Toplam Çalışma Süresigörüntüler.
Komutu, yeni hesaplanan özelliğin adını Toplam Çalışma SüresiLabel anahtarına atar.
İfadesi anahtarının betik bloğu, işlem oluşturma tarihini geçerli tarihten çıkararak işlemin ne kadar süreyle çalıştığını hesaplar.
Get-Date
cmdlet'i geçerli tarihi alır. Oluşturma tarihi geçerli tarihten çıkarılır. Sonuç, Toplam Çalışma Süresideğeridir.
Örnek 8: Biçim hatalarını giderme
Aşağıdaki örneklerde, bir ifadeyle DisplayError veya ShowError parametrelerini eklemenin sonuçları gösterilmektedir.
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 ".
Parametreler
-AutoSize
Cmdlet'in sütun boyutunu ve sütun sayısını verilerin genişliğine göre ayarladığını gösterir. Varsayılan olarak, sütun boyutu ve sayısı görünüm tarafından belirlenir.
Tür: | SwitchParameter |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-DisplayError
Cmdlet'in komut satırında hatalar görüntülediğini gösterir. Bu parametre, bir Format-Table
komutunda ifadeleri biçimlendirirken ve ifadelerle ilgili sorunları gidermeniz gerektiğinde hata ayıklama yardımı olarak kullanılabilir.
Tür: | SwitchParameter |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Expand
Koleksiyon nesnesinin ve koleksiyondaki nesnelerin biçimini belirtir. Bu parametre, ICollection(System.Collections) arabirimini destekleyen nesneleri biçimlendirmek için tasarlanmıştır. Varsayılan değer EnumOnlydeğeridir. Bu parametre için kabul edilebilir değerler aşağıdaki gibidir:
- EnumOnly: Koleksiyondaki nesnelerin özelliklerini görüntüler.
- CoreOnly: Koleksiyon nesnesinin özelliklerini görüntüler.
- Both: Koleksiyon nesnesinin özelliklerini ve koleksiyondaki nesnelerin özelliklerini görüntüler.
Tür: | String |
Kabul edilen değerler: | CoreOnly, EnumOnly, Both |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Force
cmdlet'in tüm hata bilgilerini görüntülemek için cmdlet'ini yönlendirdiğini gösterir. DisplayError veya ShowError parametresini kullanın. Varsayılan olarak, hataya bir hata nesnesi yazıldığında veya akış görüntülendiğinde yalnızca bazı hata bilgileri görüntülenir.
Ayrıca, belirli .NET türlerini biçimlendirirken de gereklidir. Daha fazla bilgi için Notlar bölümüne bakın.
Tür: | SwitchParameter |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-GroupBy
Bir özellik değerine göre ayrı tablolarda sıralanmış çıktıyı belirtir. Örneğin, GroupBy kullanarak hizmetleri durumlarına göre ayrı tablolarda listeleyebilirsiniz.
bir ifade veya özellik girin.
GroupBy parametresi nesnelerin sıralanmasını bekler.
Nesneleri gruplandırmak için Sort-Object
kullanmadan önce Format-Table
cmdlet'ini kullanın.
GroupBy parametresinin değeri yeni bir hesaplanan özellik olabilir. Hesaplanan özellik bir betik bloğu veya karma tablo olabilir. Geçerli anahtar-değer çiftleri şunlardır:
- Ad (veya Etiket) -
<string>
- İfade -
<string>
veya<script block>
- FormatString -
<string>
Daha fazla bilgi için bkz. about_Calculated_Properties.
Tür: | Object |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-HideTableHeaders
Tablodan sütun başlıklarını atlar.
Tür: | SwitchParameter |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-InputObject
Biçimlendirecek nesneleri belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın.
Tür: | PSObject |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | True |
Joker karakterleri kabul et: | False |
-Property
Görüntüde görüntülenen nesne özelliklerini ve bunların görüntülenme sırasını belirtir. Virgülle ayırarak bir veya daha fazla özellik adı yazın veya hesaplanmış özelliği görüntülemek için karma tablo kullanın. Joker karakterlere izin verilir.
Bu parametreyi atlarsanız, ekranda görüntülenen özellikler ilk nesnenin özelliklerine bağlıdır. Örneğin, ilk nesne PropertyA ve PropertyB sahipse ancak izleyen nesneler PropertyA, PropertyBve PropertyCvarsa, yalnızca PropertyA ve PropertyB üst bilgileri görüntülenir.
Özelliği parametresi isteğe bağlıdır. Özellik ve Görünüm parametrelerini aynı komutta kullanamazsınız.
Özelliği parametresinin değeri yeni bir hesaplanmış özellik olabilir. Hesaplanan özellik bir betik bloğu veya karma tablo olabilir. Geçerli anahtar-değer çiftleri şunlardır:
- Ad (veya Etiket)
<string>
- İfade -
<string>
veya<script block>
- FormatString -
<string>
- Genişlik -
<int32>
-0
büyük olmalıdır - Hizalama - değer
Left
,Center
veyaRight
olabilir
Daha fazla bilgi için bkz. about_Calculated_Properties.
Tür: | Object[] |
Position: | 0 |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | True |
-RepeatHeader
Her ekran dolduktan sonra tablonun üst bilgisini görüntülemeyi tekrarlar. Yinelenen üst bilgi, çıkış less
, more
veya ekran okuyucuyla sayfalama gibi bir çağrıyıcıya yöneltildiğinde kullanışlıdır.
Tür: | SwitchParameter |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-ShowError
Bu parametre işlem hattı üzerinden hata gönderir. Bu parametre, bir Format-Table
komutunda ifadeleri biçimlendirirken ve ifadelerle ilgili sorunları gidermeniz gerektiğinde hata ayıklama yardımı olarak kullanılabilir.
Tür: | SwitchParameter |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-View
PowerShell 6'da başlayarak, varsayılan görünümler PowerShell C#
kaynak kodunda tanımlanır. PowerShell 5.1 ve önceki sürümlerdeki *.format.ps1xml
dosyaları PowerShell 6 ve sonraki sürümlerde yoktur.
Görünüm parametresi, tablo için alternatif bir biçim veya özel görünüm belirtmenize olanak tanır. Varsayılan PowerShell görünümlerini kullanabilir veya özel görünümler oluşturabilirsiniz. Özel görünüm oluşturma hakkında daha fazla bilgi için bkz. about_Format.ps1xml.
Görünüm parametresi için alternatif ve özel görünümler tablo biçimini kullanmalıdır, aksi takdirde Format-Table
başarısız olur. Alternatif görünüm bir listeyse Format-List
cmdlet'ini kullanın. Alternatif görünüm bir liste veya tablo değilse Format-Custom
cmdlet'ini kullanın.
Özellik ve Görünüm parametrelerini aynı komutta kullanamazsınız.
Tür: | String |
Position: | Named |
Default value: | None |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
-Wrap
Sonraki satırda sütun genişliğini aşan metni görüntüler. Varsayılan olarak, sütun genişliğini aşan metin kesilir.
Tür: | SwitchParameter |
Position: | Named |
Default value: | False |
Gerekli: | False |
İşlem hattı girişini kabul et: | False |
Joker karakterleri kabul et: | False |
Girişler
Herhangi bir nesneyi bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
Microsoft.PowerShell.Commands.Internal.Format
Bu cmdlet, tabloyu temsil eden biçim nesnelerini döndürür.
Notlar
PowerShell, Format-Table
için aşağıdaki diğer adları içerir:
- Tüm platformlar:
ft
PowerShell 7.2, çıkışı renklendirmek için yeni özellikler kullanıma sunulmuştur. Renkler $PSStyle
otomatik değişkeni kullanılarak yönetilebilir.
$PSStyle.Formatting.TableHeader
özelliği, Format-Table
tarafından görüntülenen tablonun üst bilgisi için kullanılan rengi tanımlar. Bu ayar hakkında daha fazla bilgi için bkz. about_ANSI_Terminals.
Format-Table
parametresiyle kullanmak istiyorsanız, aşağıdaki koşullardan herhangi birine Force parametresini eklemeniz gerekir:
Giriş nesneleri normalde
ToString()
yöntemi kullanılarak bant dışı biçimlendirilir. Bu,[string]
,[int]
ve diğerleri gibi yerleşik sayısal türlerin üst kümesi olan[long]
ve .NET temel türleri için geçerlidir.Giriş nesnelerinin genel özellikleri yoktur.
Giriş nesneleri, PowerShell'in Başarı çıkış akışı dışındaki çıkış akışları için kullandığı sarmalayıcı türlerinin örnekleridir. Bu, yalnızca bu sarmalayıcı türlerinin önce ErrorVariable veya
*>&1
gibi bir yeniden yönlendirme kullanarak bunları yakalamasını gerektiren Başarı çıkış akışına gönderildiğinde geçerlidir.Sarmalayıcı türleri şunlardır:
- System.Management.Automation.ErrorRecord
- System.Management.Automation.WarningRecord
- System.Management.Automation.VerboseRecord
- System.Management.Automation.DebugRecord
- System.Management.Automation.InformationRecord