Dela via


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

PSObject

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.