Format-Table
Formaterar utdata som en tabell.
Syntax
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-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, men du kan använda parametern Egenskap för att välja de egenskaper som du vill se.
Du kan också 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.
Exempel
Exempel 1: Formatera PowerShell-värd
Det här kommandot visar information om värdprogrammet för PowerShell i en tabell. Som standard formateras de i en lista.
Get-Host | Format-Table -AutoSize
Cmdleten Get-Host
hämtar objekt som representerar värden. Pipelineoperatorn (|) skickar objektet till cmdleten Format-Table
. Cmdleten Format-Table
formaterar objekten i en tabell. Parametern AutoSize justerar kolumnbredderna för att minimera trunkeringen.
Exempel 2: Formatera processer efter BasePriority
Det här kommandot visar processerna på datorn i grupper med samma basprioritet.
Get-Process | Sort-Object -Property basepriority | Format-Table -GroupBy basepriority -Wrap
Cmdleten Get-Process hämtar objekt som representerar varje process på datorn. Pipelineoperatorn (|) skickar objektet till cmdleten Sort-Object, som sorterar objekten efter deras basprioritet.
En annan pipelineoperator skickar resultatet till cmdleten Format-Table
. Parametern GroupBy ordnar data om processerna i grupper baserat på värdet för deras BasePriority-egenskap. Parametern Wrap säkerställer att data inte trunkeras.
Exempel 3: Formatera processer efter startdatum
Get-Process | Sort-Object starttime | Format-Table -View starttime
Det här kommandot visar information om processerna på datorn i gruppen baserat på processens startdatum. Den använder cmdleten Get-Process för att hämta objekt som representerar processerna på datorn. Pipelineoperatorn (|) skickar utdata från Get-Process
till cmdleten Sort-Object
, som sorterar den baserat på egenskapen StartTime. En annan pipelineoperator skickar sorterade resultat till Format-Table
.
Parametern View används för att välja vyn StartTime som definieras i DotNetTypes.format.ps1xml
-filen för System.Diagnostics.Process-objekt, till exempel objekt som returneras av Get-Process
. Den här vyn konverterar StartTime- av processen till ett kort datum och grupperar sedan processerna efter startdatum.
Filen DotNetTypes.format.ps1xml
innehåller också en Prioritet vy för processer. Du kan skapa egna format.ps1xml-filer med anpassade vyer.
Exempel 4: Formatera tjänster
Get-Service | Format-Table -Property Name, DependentServices
Det här kommandot visar alla tjänster på datorn i en tabell med två kolumner, Namn och DependentServices. Cmdleten Get-Service
hämtar alla tjänster på datorn. Pipelineoperatorn (|) skickar resultatet till cmdleten Format-Table
som formaterar utdata i en tabell.
Parametern Egenskap anger de egenskaper som visas i tabellen som kolumner. Namnet på parametern Egenskap är valfritt, så du kan utelämna det, till exempel Format-Table Name, DependentServices
.
Name and DependentServices är bara två av egenskaperna för tjänstobjekt. Om du vill visa alla egenskaper skriver du Get-Service | Get-Member -MemberType Properties
.
Exempel 5: Formatera en process och beräkna dess körningstid
Det här kommandot visar hur du använder en beräknad egenskap i en tabell.
Get-Process Notepad | Format-Table ProcessName,
@{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}
Kommandot visar en tabell med processnamnet och den totala körningstiden för alla Anteckningar-processer på den lokala datorn. Den totala körningstiden beräknas genom att subtrahera starttiden för varje process från den aktuella tiden.
Kommandot använder cmdleten Get-Process
för att hämta alla processer med namnet Anteckningar på den lokala datorn.
Pipelineoperatorn (|) skickar resultatet till Format-Table
, som visar en tabell med två kolumner: ProcessName, en standardegenskap för processer och TotalRunningTime, en beräknad egenskap.
Egenskapen TotalRunningTime anges av en hash-tabell med två nycklar, Label och Expression. Namnet på egenskapen tilldelas nyckeln Etikett. Beräkningen tilldelas nyckeln uttryck. 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 6: Formatera anteckningar
Dessa kommandon liknar föregående kommando, förutom att dessa kommandon använder cmdleten Get-WmiObject
.
$Processes = Get-WmiObject -ComputerName "Server01" -Class win32_process -Filter "name='notepad.exe'"
$Processes | Format-Table ProcessName, @{ Label = "Total Running Time"; Expression={(Get-Date) - $_.ConvertToDateTime($_.CreationDate)}}
Det första kommandot använder cmdleten Get-WmiObject
för att hämta instanser av klassen WMI Win32_Process som beskriver alla processer på server01-datorn med namnet Notepad.exe
.
Kommandot lagrar processinformationen i variabeln $Processes
.
Det andra kommandot använder en pipelineoperator (|) för att skicka processinformationen i variabeln $Processes
till Format-Table
-cmdleten, som visar ProcessName- och en ny beräknad egenskap.
Kommandot tilldelar namnet på den nya beräknade egenskapen , "Total körningstid", till nyckeln Etikett. Skriptblocket som har tilldelats uttryck-nyckeln beräknar hur länge processen har körts genom att subtrahera processens skapandedatum från det aktuella datumet. Cmdleten Get-Date
hämtar det aktuella datumet. Metoden ConvertToDateTime konverterar egenskapen CreationDate för Win32_Process-objektet från ett WMI CIM_DATETIME-objekt till ett .NET DateTime- objekt som kan jämföras med utdata från Get-Date
. Sedan subtraheras det konverterade skapandedatumet från det aktuella datumet. Resultatet är värdet för total körningstid.
Exempel 7: Felsöka formatfel
Följande exempel visar resultatet av att lägga till parametrarna DisplayError eller ShowError med ett uttryck.
PC /> Get-Date | Format-Table DayOfWeek,{ $_ / $null } -DisplayError
DayOfWeek $_ / $null
--------- ------------
Wednesday #ERR
PC /> Get-Date | Format-Table DayOfWeek,{ $_ / $null } -ShowError
DayOfWeek $_ / $null
--------- ------------
Wednesday
Failed to evaluate expression " $_ / $null ".
+ CategoryInfo : InvalidArgument: (10/30/2013 2:28:07 PM:PSObject) \[\], RuntimeException
+ FullyQualifiedErrorId : mshExpressionError
Parametrar
-AutoSize
Anger att cmdleten justerar kolumnstorleken och antalet kolumner baserat på databredden. Som standard bestäms kolumnstorleken och talet av vyn.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DisplayError
Anger att cmdleten visar fel på kommandoraden. Den här parametern används sällan, men kan användas som felsökningshjälp när du formaterar uttryck i ett Format-Table
kommando och uttrycken inte verkar fungera.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Expand
Anger formatet på samlingsobjektet samt 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. De godtagbara värdena för den här parametern är:
- EnumOnly: Visar egenskaperna för objekten i samlingen.
- CoreOnly: Visar egenskaperna för samlingsobjektet.
- Båda: Visar egenskaperna för samlingsobjektet och egenskaperna för objekt i samlingen.
Typ: | String |
Godkända värden: | CoreOnly, EnumOnly, Both |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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 en del av felinformationen.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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 för utdata. Utdata måste sorteras innan du skickar dem till Format-Table
.
Värdet för parametern GroupBy kan vara en ny beräknad egenskap. Om du vill skapa en beräknad egenskap använder du en hash-tabell. Giltiga nycklar är:
- Namn (eller etikett) <sträng>
- Uttryck <sträng> eller <skriptblock>
- FormatString <sträng>
Typ: | Object |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-HideTableHeaders
Utelämnar kolumnrubrikerna från tabellen.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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.
Typ: | PSObject |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | 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 PropertyAvisas PropertyB och PropertyC endast PropertyA och PropertyB-huvuden.
Parameternamnet egenskap är valfritt. 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. Om du vill skapa en beräknad egenskap använder du en hash-tabell. Giltiga nycklar är:
- Namn (eller etikett) <sträng>
- Uttryck <sträng> eller <skriptblock>
- FormatString <sträng>
- Bredd <int32>
- Justering (värdet kan vara "Left", "Center" eller "Right")
Typ: | Object[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-ShowError
Skickar fel via pipelinen. Den här parametern används sällan, men kan användas som felsökningshjälp när du formaterar uttryck i ett Format-Table
kommando och uttrycken inte verkar fungera.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-View
Anger namnet på ett alternativt tabellformat eller en vy. Du kan inte använda parametrarna Property och View i samma kommando.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Wrap
Visar text som överskrider kolumnbredden på nästa rad. Som standard trunkeras text som överskrider kolumnbredden.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka valfritt objekt till Format-Table
.
Utdata
Microsoft.PowerShell.Commands.Internal.Format
Format-Table
returnerar formatobjekt som representerar tabellen.
Kommentarer
Parametern GroupBy förutsätter att objekten sorteras. Använd cmdleten Sort-Object
innan du använder Format-Table
för att gruppera objekten.
Med parametern View kan du ange ett alternativt format för tabellen. Du kan använda vyerna som definierats i *.format.PS1XML
-filerna i PowerShell-katalogen eller skapa egna vyer i nya PS1XML-filer och sedan använda cmdleten Update-FormatData
för att inkludera dem i PowerShell. De alternativa vyerna för parametern View måste använda tabellformatet, annars misslyckas kommandot.
Om den alternativa vyn är en lista använder du cmdleten Format-List
. Om den alternativa vyn varken är en lista eller en tabell använder du cmdleten Format-Custom
.