Format-Table
Formaterar utdata som en tabell.
Syntax
All
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-RepeatHeader]
[-HideTableHeaders]
[-Wrap]
[-GroupBy <Object>]
[-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>]
[<CommonParameters>]
Description
Cmdleten Format-Table formaterar utdata från ett kommando som en tabell med de markerade egenskaperna för objektet i varje kolumn. Objekttypen avgör standardlayouten och egenskaperna som visas i varje kolumn. Du kan använda parametern egenskap för att välja de egenskaper som du vill visa.
PowerShell använder standardformaterare för att definiera hur objekttyper ska visas. Du kan använda .ps1xml filer för att skapa anpassade vyer som visar en utdatatabell med angivna egenskaper. När du har skapat en anpassad vy använder du parametern View för att visa tabellen med din anpassade vy. Mer information om vyer finns i about_Format.ps1xml.
Du kan använda en hash-tabell för att lägga till beräknade egenskaper i ett objekt innan du visar den och ange kolumnrubrikerna i tabellen. Om du vill lägga till en beräknad egenskap använder du parametern Property eller GroupBy. Mer information om hash-tabeller finns i about_Hash_Tables.
Exempel
Exempel 1: Formatera PowerShell-värd
I det här exemplet visas information om värdprogrammet för PowerShell i en tabell.
Get-Host | Format-Table -AutoSize
Cmdleten Get-Host hämtar System.Management.Automation.Internal.Host.InternalHost objekt som representerar värden. Objekten skickas ned i pipelinen för att Format-Table och visas i en tabell. Parametern AutoSize justerar kolumnbredderna för att minimera trunkeringen.
Exempel 2: Formatera processer efter BasePriority
I det här exemplet visas processer i grupper som har samma BasePriority- egenskap.
Get-Process | Sort-Object -Property BasePriority |
Format-Table -GroupBy BasePriority -Wrap
Cmdleten Get-Process hämtar objekt som representerar varje process på datorn och skickar dem nedåt i pipelinen för att Sort-Object. Objekten sorteras i ordning efter egenskapen BasePriority.
De sorterade objekten skickas ned i pipelinen för att Format-Table. Parametern GroupBy ordnar processdata i grupper baserat på värdet för BasePriority egenskapen. Parametern Wrap ser till att data inte trunkeras.
Exempel 3: Formatera processer efter startdatum
I det här exemplet visas information om de processer som körs på datorn. Objekten sorteras och Format-Table använder en vy för att gruppera objekten efter startdatum.
Get-Process | Sort-Object StartTime | Format-Table -View StartTime
Get-Process hämtar System.Diagnostics.Process objekt som representerar de processer som körs på datorn. Objekten skickas ned i pipelinen till Sort-Objectoch sorteras baserat på egenskapen StartTime.
De sorterade objekten skickas ned i pipelinen för att Format-Table. Parametern View anger StartTime- vy som definieras i PowerShell DotNetTypes.format.ps1xml-filen för System.Diagnostics.Process-objekt. Vyn StartTime konverterar varje processers starttid till ett kort datum och grupperar sedan processerna efter startdatumet.
Filen DotNetTypes.format.ps1xml innehåller en Prioritet vy för processer. Du kan skapa egna format.ps1xml filer med anpassade vyer.
Exempel 4: Använd en anpassad vy för tabellutdata
I det här exemplet visar en anpassad vy innehållet i en katalog. Den anpassade vyn lägger till kolumnen CreationTime i tabellutdata för System.IO.DirectoryInfo och System.IO.FileInfo objekt som skapats av Get-ChildItem.
Den anpassade vyn i det här exemplet skapades från vyn som definierats i PowerShell-källkoden. Mer information om vyer och koden som används för att skapa det här exemplets vy finns i 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 hämtar innehållet i den aktuella katalogen C:\Test. Objekten System.IO.DirectoryInfo och System.IO.FileInfo skickas ned i pipelinen.
Format-Table använder parametern View för att ange den anpassade vyn MyGciView som innehåller kolumnen CreationTime.
Standardutdata för Format-Table för Get-ChildItem innehåller inte kolumnen CreationTime.
Exempel 5: Använd egenskaper för tabellutdata
I det här exemplet används parametern Egenskap för att visa alla datorns tjänster i en tabell med två kolumner som visar egenskaperna Namn och DependentServices.
Get-Service | Format-Table -Property Name, DependentServices
Get-Service hämtar alla tjänster på datorn och skickar objekten System.ServiceProcess.ServiceController i pipelinen.
Format-Table använder parametern Egenskap för att ange att egenskaperna Name och DependentServices visas i tabellen.
Name and DependentServices är två av objekttypens egenskaper. Så här visar du alla egenskaper: Get-Service | Get-Member -MemberType Properties
Exempel 6: Formatera en process och beräkna dess körningstid
I det här exemplet visas en tabell med processnamnet och den totala körningstiden för den lokala datorns anteckningar processer. Den totala körningstiden beräknas genom att subtrahera starttiden för varje process från den aktuella tiden.
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 hämtar alla den lokala datorns anteckningar processer och skickar objekten nedåt i pipelinen.
Format-Table visar en tabell med två kolumner: ProcessName, en Get-Process-egenskap och TotalRunningTime, en beräknad egenskap.
Egenskapen TotalRunningTime anges av en hash-tabell med två nycklar, Label och Expression. Nyckeln Etikett anger egenskapsnamnet. Nyckeln Uttryck anger beräkningen. Uttrycket hämtar egenskapen StartTime för varje processobjekt och subtraherar det från resultatet av ett Get-Date kommando, som hämtar aktuellt datum och tid.
Exempel 7: Formatera anteckningar
I det här exemplet används Get-CimInstance för att hämta körningstiden för alla anteckningar processer på den lokala datorn. Du kan använda Get-CimInstance med parametern ComputerName för att hämta information från fjärrdatorer.
$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 hämtar instanser av klassen WMI Win32_Process som beskriver alla processer på den lokala datorn med namnet notepad.exe. Processobjekten lagras i variabeln $Processes.
Processobjekten i variabeln $Processes skickas ned i pipelinen till Format-Table, som visar egenskapen ProcessName och en ny beräknad egenskap Total körningstid.
Kommandot tilldelar namnet på den nya beräknade egenskapen, Total körningstid, till nyckeln Etikett. Skriptblocket uttryck nyckel beräknar hur länge processen har körts genom att subtrahera processernas skapandedatum från det aktuella datumet. Cmdleten Get-Date hämtar det aktuella datumet. Skapandedatumet subtraheras från det aktuella datumet. Resultatet är värdet för total körningstid.
Exempel 8: Felsöka formatfel
I följande exempel visas resultatet av att lägga till parametrarna DisplayError eller ShowError med ett uttryck.
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 ".
Parametrar
-AutoSize
Anger att cmdleten justerar kolumnstorleken och antalet kolumner baserat på databredden. Som standard bestäms kolumnstorleken och talet av vyn.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-DisplayError
Anger att cmdleten visar fel på kommandoraden. Den här parametern kan användas som felsökningshjälp när du formaterar uttryck i ett Format-Table-kommando och behöver felsöka uttrycken.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Expand
Anger formatet för samlingsobjektet och objekten i samlingen. Den här parametern är utformad för att formatera objekt som stöder gränssnittet ICollection(System.Collections). Standardvärdet är EnumOnly. Godkända värden för den här parametern är följande:
- EnumOnly: Visar egenskaperna för objekten i samlingen.
- CoreOnly: Visar egenskaperna för samlingsobjektet.
- Både: Visar egenskaperna för samlingsobjektet och egenskaperna för objekt i samlingen.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Godkända värden: | CoreOnly, EnumOnly, Both |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Force
Anger att cmdleten dirigerar cmdleten till att visa all felinformation. Använd med parametern DisplayError eller ShowError. När ett felobjekt skrivs till fel- eller visningsströmmar visas som standard endast viss felinformation.
Krävs även vid formatering av vissa .NET-typer. Mer information finns i avsnittet Anteckningar.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-GroupBy
Anger sorterade utdata i separata tabeller baserat på ett egenskapsvärde. Du kan till exempel använda GroupBy för att visa tjänster i separata tabeller baserat på deras status.
Ange ett uttryck eller en egenskap. Parametern GroupBy förväntar sig att objekten sorteras.
Använd cmdleten Sort-Object innan du använder Format-Table för att gruppera objekten.
Värdet för parametern GroupBy kan vara en ny beräknad egenskap. Den beräknade egenskapen kan vara ett skriptblock eller en hash-tabell. Giltiga nyckel/värde-par är:
- Namn (eller etikett) –
<string> - Uttryck –
<string>eller<script block> - FormatString –
<string>
Mer information finns i about_Calculated_Properties.
Parameteregenskaper
| Typ: | Object |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-HideTableHeaders
Utelämnar kolumnrubrikerna från tabellen.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-InputObject
Anger vilka objekt som ska formateras. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten.
Parameteregenskaper
| Typ: | PSObject |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Property
Anger de objektegenskaper som visas i visningen och i vilken ordning de visas. Skriv ett eller flera egenskapsnamn, avgränsade med kommatecken eller använd en hash-tabell för att visa en beräknad egenskap. Jokertecken tillåts.
Om du utelämnar den här parametern beror egenskaperna som visas i visningen på det första objektets egenskaper. Om det första objektet till exempel har PropertyA och PropertyB men efterföljande objekt har PropertyA, PropertyBoch PropertyCvisas bara PropertyA- och PropertyB rubriker.
Parametern Egenskap är valfri. Du kan inte använda parametrarna Property och View i samma kommando.
Värdet för parametern Property kan vara en ny beräknad egenskap. Den beräknade egenskapen kan vara ett skriptblock eller en hash-tabell. Giltiga nyckel/värde-par är:
- Namn (eller etikett)
<string> - Uttryck –
<string>eller<script block> - FormatString –
<string> - Bredd -
<int32>- måste vara större än0 - Justering – värdet kan vara
Left,CenterellerRight
Mer information finns i about_Calculated_Properties.
Parameteregenskaper
| Typ: | Object[] |
| Standardvärde: | None |
| Stöder jokertecken: | True |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | 0 |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-RepeatHeader
Upprepar att huvudet i en tabell visas efter varje helskärm. Det upprepade huvudet är användbart när utdata skickas till en personsökare, till exempel less eller more eller växling med en skärmläsare.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-ShowError
Den här parametern skickar fel via pipelinen. Den här parametern kan användas som felsökningshjälp när du formaterar uttryck i ett Format-Table-kommando och behöver felsöka uttrycken.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-View
Från och med PowerShell 6 definieras standardvyerna i PowerShell C# källkod. De *.format.ps1xml filerna från PowerShell 5.1 och tidigare versioner finns inte i PowerShell 6 eller senare versioner.
Med parametern View kan du ange ett alternativt format eller en anpassad vy för tabellen. Du kan använda standardvyerna i PowerShell eller skapa anpassade vyer. Mer information om hur du skapar en anpassad vy finns i about_Format.ps1xml.
De alternativa och anpassade vyerna för parametern View måste använda tabellformatet, annars misslyckas Format-Table. Om den alternativa vyn är en lista använder du cmdleten Format-List. Om den alternativa vyn inte är en lista eller tabell använder du cmdleten Format-Custom.
Du kan inte använda parametrarna Property och View i samma kommando.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Wrap
Visar text som överskrider kolumnbredden på nästa rad. Som standard trunkeras text som överskrider kolumnbredden.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | False |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
PSObject
Du kan skicka valfritt objekt till den här cmdleten.
Utdata
Microsoft.PowerShell.Commands.Internal.Format
Den här cmdleten returnerar formatobjekt som representerar tabellen.
Kommentarer
PowerShell innehåller följande alias för Format-Table:
- Alla plattformar:
ft
PowerShell 7.2 introducerade nya funktioner för att färglägga utdata. Färgerna kan hanteras med hjälp av den $PSStyle automatiska variabeln. Egenskapen $PSStyle.Formatting.TableHeader definierar den färg som används för rubriken i tabellen som visas av Format-Table. Mer information om den här inställningen finns i about_ANSI_Terminals.
Om du vill använda Format-Table med parametern Property måste du ta med parametern Force under något av följande villkor:
Indataobjekten formateras normalt out-of-band med hjälp av metoden
ToString(). Detta gäller för primitiva typer av[string]och .NET, som är en supermängd av de inbyggda numeriska typerna, till exempel[int],[long]och andra.Indataobjekten har inga offentliga egenskaper.
Indataobjekten är instanser av de omslutningstyper som PowerShell använder för andra typer av outputströmmar än den lyckade resultatutströmmen. Detta gäller endast när dessa omslutningstyper skickas till utdataströmmen Lyckades som antingen kräver att de har avbildats via vanliga parametrar som ErrorVariable först eller med hjälp av en omdirigering, till exempel
*>&1.