Format-Table

Çıktıyı tablo olarak biçimlendirır.

Syntax

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

Description

cmdlet'i Format-Table , 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 Özellik 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 dosyaları kullanabilirsiniz .ps1xml . Özel görünüm oluşturulduktan sonra, tabloyu özel görünümünüzle görüntülemek için View 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 Property 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

cmdlet'i Get-Host konağı temsil eden System.Management.Automation.Internal.Host.InternalHost nesnelerini alır. Nesneler, işlem hattına Format-Table 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

cmdlet'i Get-Process bilgisayardaki her işlemi temsil eden nesneleri alır ve işlem hattına Sort-Objectgönderir. Nesneler BasePriority özelliğine göre sıralanır.

Sıralanan nesneler işlem hattına Format-Tablegö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 işlem hattına Sort-Objectgönderilir ve StartTime özelliğine göre sıralanır.

Sıralanan nesneler işlem hattına Format-Tablegönderilir. View parametresi, System.Diagnostics.Processnesneleri 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.

Dosya, DotNetTypes.format.ps1xml 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 Get-ChildItemoluşturulan System.IO.DirectoryInfo ve System.IO.FileInfo nesnelerinin tablo çıkışına CreationTime 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 C:\Testiçeriğini alır. System.IO.DirectoryInfo ve System.IO.FileInfo nesneleri işlem hattına gönderilir. Format-Table, CreationTime sütununu içeren özel görünüm mygciview'unu belirtmek için View parametresini kullanır.

için Get-ChildItem varsayılan Format-Table çıkış CreationTime sütununu içermez.

Örnek 5: Tablo çıktısı için özellikleri kullanma

Bu örnekte, Bilgisayarın tüm hizmetlerini Name ve DependentServices özelliklerini gösteren iki sütunlu bir tabloda görüntülemek için Property parametresi kullanılır.

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

Get-Servicebilgisayardaki tüm hizmetleri alır ve System.ServiceProcess.ServiceController nesnelerini işlem hattına gönderir. Format-Table, Name ve DependentServices özelliklerinin tabloda görüntüleneceğini belirtmek için Property parametresini kullanır.

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 yerel bilgisayarın tüm 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 özellik ve hesaplanan bir özellik olan TotalRunningTime.

TotalRunningTime özelliği, Etiket ve İfade olmak üzere iki anahtara sahip bir karma tablo tarafından belirtilir. Etiket anahtarı özellik adını belirtir. İfade anahtarı hesaplamayı belirtir. İfade, her işlem nesnesinin StartTime özelliğini alır ve geçerli tarih ve saati alan bir Get-Date komutun sonucundan çıkarır.

Örnek 7: Not Defteri işlemlerini biçimlendirme

Bu örnek, yerel bilgisayardaki tüm not defteri işlemlerinin çalışma süresini almak için kullanırGet-CimInstance. Uzak bilgisayarlardan bilgi almak için ComputerName parametresiyle kullanabilirsinizGet-CimInstance.

$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-CimInstanceWMI Win32_Process sınıfının notepad.exe adlı tüm yerel bilgisayarın işlemlerini açıklayan örneklerini alır. İşlem nesneleri değişkeninde $Processes depolanır.

değişkenindeki $Processes işlem nesneleri işlem hattına Format-Tablegönderilir. İşlemAdı özelliği ve yeni bir hesaplanan özellik (Toplam Çalışma Süresi) görüntülenir.

Komutu, Etiket anahtarına yeni hesaplanan özelliğin (Toplam Çalışma Süresi) adını atar. İfade 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 geçerli tarihi alır. Oluşturma tarihi geçerli tarihten çıkarılır. Sonuç, Toplam Çalışma Süresi değ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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayError

Cmdlet'in komut satırında hatalar görüntülediğini gösterir. Bu parametre, bir komuttaki Format-Table ifadeleri biçimlendirirken ve ifadelerde sorun gidermeniz gerektiğinde hata ayıklama yardımı olarak kullanılabilir.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 EnumOnly'dir. 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.
  • Her ikisi: Koleksiyon nesnesinin özelliklerini ve koleksiyondaki nesnelerin özelliklerini görüntüler.
Type:String
Accepted values:CoreOnly, EnumOnly, Both
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

cmdlet'in tüm hata bilgilerini görüntülemek için cmdlet'ini yönlendirdiğini gösterir. DisplayError veya ShowError parametresiyle 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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-GroupBy

Bir özellik değerine göre ayrı tablolarda sıralanmış çıktıyı belirtir. Örneğin, GroupBy'yi kullanarak hizmetleri durumlarına göre ayrı tablolarda listeleyebilirsiniz.

bir ifade veya özellik girin. GroupBy parametresi, nesnelerin sıralanmasını bekler. Sort-Object Kullanarak nesneleri gruplandırmadan ö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.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HideTableHeaders

Tablodan sütun başlıklarını atlar.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Biçimlendirecek nesneleri belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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'ye sahipse ancak izleyen nesneler PropertyA, PropertyB ve PropertyC'ye sahipse, yalnızca PropertyA ve PropertyB üst bilgileri görüntülenir.

Property parametresi isteğe bağlıdır. Özellik ve Görünüm parametrelerini aynı komutta kullanamazsınız.

Property 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> - büyük olmalıdır 0
  • Hizalama - değer , Centerveya olabilir LeftRight

Daha fazla bilgi için bkz . about_Calculated_Properties.

Type:Object[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-RepeatHeader

Her ekran dolduktan sonra tablonun üst bilgisini görüntülemeyi tekrarlar. Yinelenen üst bilgi, çıkış veya ekran okuyucu ile sayfalama gibi lessmore bir çağrıyıcıya yöneltildiğinde kullanışlıdır.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ShowError

Bu parametre işlem hattı üzerinden hata gönderir. Bu parametre, bir komuttaki Format-Table ifadeleri biçimlendirirken ve ifadelerde sorun gidermeniz gerektiğinde hata ayıklama yardımı olarak kullanılabilir.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-View

PowerShell 6'da başlayarak, varsayılan görünümler PowerShell C# kaynak kodunda tanımlanır. *.format.ps1xml PowerShell 5.1 ve önceki sürümlerdeki dosyalar PowerShell 6 ve sonraki sürümlerde yoktur.

View 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.

View parametresi için alternatif ve özel görünümler tablo biçimini kullanmalıdır, Format-Table aksi takdirde başarısız olur. Alternatif görünüm bir listeyse cmdlet'ini Format-List kullanın. Alternatif görünüm bir liste veya tablo değilse cmdlet'ini Format-Custom kullanın.

Özellik ve Görünüm parametrelerini aynı komutta kullanamazsınız.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

PSObject

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 için aşağıdaki diğer adları Format-Tableiçerir:

  • Tüm platformlar:
    • ft

PowerShell 7.2, çıkışı renklendirmek için yeni özellikler kullanıma sunulmuştur. Renkler otomatik değişken kullanılarak $PSStyle yönetilebilir. özelliği tarafından $PSStyle.Formatting.TableHeaderFormat-Tablegö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.

Property parametresiyle kullanmak Format-Table istiyorsanız, Aşağıdaki koşullardan herhangi birine Force parametresini eklemeniz gerekir: