Sdílet prostřednictvím


Format-Table

Formátuje výstup jako tabulku.

Syntaxe

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

Description

Rutina Format-Table formátuje výstup příkazu jako tabulku s vybranými vlastnostmi objektu v každém sloupci. Typ objektu určuje výchozí rozložení a vlastnosti, které jsou zobrazeny v každém sloupci, ale můžete použít parametr Vlastnost vybrat vlastnosti, které chcete zobrazit.

Před zobrazením objektu můžete také pomocí hashovací tabulky přidat počítané vlastnosti a určit záhlaví sloupců v tabulce. Pokud chcete přidat počítanou vlastnost, použijte parametr Vlastnost nebo GroupBy.

Příklady

Příklad 1: Formátování hostitele PowerShellu

Tento příkaz zobrazí informace o hostitelském programu powershellu v tabulce. Ve výchozím nastavení jsou formátované v seznamu.

Get-Host | Format-Table -AutoSize

Rutina Get-Host získá objekty představující hostitele. Operátor kanálu (|) předá objekt rutině Format-Table. Rutina Format-Table naformátuje objekty v tabulce. Parametr AutoSize upraví šířky sloupců tak, aby se minimalizovalo zkrácení.

Příklad 2: Formátování procesů podle BasePriority

Tento příkaz zobrazí procesy v počítači ve skupinách se stejnou základní prioritou.

Get-Process | Sort-Object -Property basepriority | Format-Table -GroupBy basepriority -Wrap

Rutina Get-Process získá objekty představující každý proces v počítači. Operátor kanálu (|) předá objekt rutině Sort-Object, která seřadí objekty v pořadí podle jejich základní priority.

Jiný operátor kanálu předá výsledky rutině Format-Table. Parametr GroupBy uspořádá data o procesech do skupin na základě hodnoty vlastnosti BasePriority. Parametr Wrap zajišťuje, že data nebudou zkrácena.

Příklad 3: Formátování procesů podle data zahájení

Get-Process | Sort-Object starttime | Format-Table -View starttime

Tento příkaz zobrazí informace o procesech v počítači ve skupině na základě data zahájení procesu. Pomocí rutiny Get-Process získá objekty představující procesy v počítači. Operátor kanálu (|) odešle výstup Get-Process do rutiny Sort-Object, která ji seřadí na základě vlastnosti StartTime. Jiný operátor kanálu odešle seřazené výsledky do Format-Table.

Parametr View slouží k výběru zobrazení StartTime, které je definováno v souboru DotNetTypes.format.ps1xml pro objekty System.Diagnostics. Process, například objekty vrácené Get-Process. Toto zobrazení převede počáteční čas procesu na krátké datum a potom seskupí procesy podle data zahájení.

Soubor DotNetTypes.format.ps1xml obsahuje také zobrazení Priorita procesů. Můžete vytvořit vlastní soubory format.ps1xml s přizpůsobenými zobrazeními.

Příklad 4: Formátování služeb

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

Tento příkaz zobrazí všechny služby v počítači v tabulce se dvěma sloupci, Name a DependentServices. Rutina Get-Service získá všechny služby v počítači. Operátor kanálu (|) odešle výsledky do rutiny Format-Table, která formátuje výstup v tabulce. Parametr Vlastnost určuje vlastnosti, které se zobrazí v tabulce jako sloupce. Název parametru Vlastnost je volitelný, takže ho můžete vynechat, například Format-Table Name, DependentServices.

Name a DependentServices jsou jen dvě vlastnosti objektů služby. Chcete-li zobrazit všechny vlastnosti, zadejte Get-Service | Get-Member -MemberType Properties.

Příklad 5: Formátování procesu a výpočet jeho běhu

Tento příkaz ukazuje, jak použít počítanou vlastnost v tabulce.

Get-Process Notepad | Format-Table ProcessName,
   @{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}

Příkaz zobrazí tabulku s názvem procesu a celkovou dobou běhu všech procesů Poznámkového bloku v místním počítači. Celkový průběžný čas se vypočítá odečtením počátečního času každého procesu od aktuálního času.

Příkaz používá rutinu Get-Process k získání všech procesů s názvem Poznámkový blok v místním počítači. Operátor kanálu (|) odešle výsledky do Format-Table, který zobrazí tabulku se dvěma sloupci: ProcessName, standardní vlastnost procesů a TotalRunningTime, počítanou vlastnost.

Vlastnost TotalRunningTime je určena tabulkou hodnot hash se dvěma klíči, popiskem a výrazem. Název vlastnosti je přiřazen klíč Popisek. Výpočet se přiřadí klíči Expression. Výraz získá vlastnost StartTime každého objektu procesu a odečte ji od výsledku příkazu Get-Date, který získá aktuální datum a čas.

Příklad 6: Formátování procesů poznámkového bloku

Tyto příkazy jsou podobné předchozímu příkazu s tím rozdílem, že tyto příkazy používají rutinu 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)}}

První příkaz používá rutinu Get-WmiObject k získání instancí Win32_Process třídy WMI, která popisuje všechny procesy na počítači Server01 s názvem Notepad.exe. Příkaz uloží informace o procesu do proměnné $Processes.

Druhý příkaz pomocí operátoru kanálu (|) odešle informace o procesu v proměnné $Processes do rutiny Format-Table, která zobrazí ProcessName a novou počítanou vlastnost.

Příkaz přiřadí název nové počítané vlastnosti Total Running Time (Celková doba běhu) ke klíči Popisek. Blok skriptu přiřazený Výraz klíč vypočítá, jak dlouho proces běží, odečtením data vytvoření procesu od aktuálního data. Rutina Get-Date získá aktuální datum. Metoda ConvertToDateTime převede vlastnost CreationDate objektu Win32_Process z objektu CIM_DATETIME rozhraní WMI na objekt .NET DateTime objektu, který lze porovnat s výstupem Get-Date. Převedené datum vytvoření se pak odečte od aktuálního data. Výsledkem je hodnota total running time.

Příklad 7: Řešení chyb formátu

Následující příklady ukazují výsledky přidání parametrů DisplayError nebo ShowError s výrazem.

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

Parametry

-AutoSize

Označuje, že rutina upraví velikost sloupce a počet sloupců na základě šířky dat. Ve výchozím nastavení je velikost a číslo sloupce určeny zobrazením.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DisplayError

Označuje, že rutina zobrazuje chyby na příkazovém řádku. Tento parametr se používá zřídka, ale lze ho použít jako pomůcku ladění při formátování výrazů v příkazu Format-Table a výrazy se zdá, že nefungují.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Expand

Určuje formát objektu kolekce a také objekty v kolekci. Tento parametr je navržen pro formátování objektů, které podporují ICollection (System.Collections) rozhraní. Výchozí hodnota je EnumOnly. Přijatelné hodnoty pro tento parametr jsou:

  • EnumOnly: Zobrazí vlastnosti objektů v kolekci.
  • CoreOnly: Zobrazí vlastnosti objektu kolekce.
  • Obojí: Zobrazí vlastnosti objektu kolekce a vlastnosti objektů v kolekci.
Typ:String
Přípustné hodnoty:CoreOnly, EnumOnly, Both
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Force

Označuje, že rutina nasměruje tuto rutinu tak, aby zobrazovala všechny informace o chybě. Použijte s parametrem DisplayError nebo ShowError. Ve výchozím nastavení se při zápisu objektu chyby do chyby nebo zobrazení datových proudů zobrazí pouze některé informace o chybě.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-GroupBy

Určuje seřazený výstup v samostatných tabulkách na základě hodnoty vlastnosti. Můžete například použít GroupBy k výpisu služeb v samostatných tabulkách na základě jejich stavu.

Zadejte výraz nebo vlastnost výstupu. Výstup musí být seřazen před odesláním do Format-Table.

Hodnota parametru GroupBy může být nová počítaná vlastnost. Pokud chcete vytvořit počítanou vlastnost, použijte tabulku hash. Platné klíče jsou:

  • Název (nebo popisek) <řetězcové>
  • > bloku skriptu <výrazu> nebo bloku skriptu <
  • Formátovací řetězec <>
Typ:Object
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-HideTableHeaders

Vynechá záhlaví sloupců z tabulky.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-InputObject

Určuje objekty, které se mají formátovat. Zadejte proměnnou, která obsahuje objekty, nebo zadejte příkaz nebo výraz, který objekty získá.

Typ:PSObject
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Property

Určuje vlastnosti objektu, které se zobrazí v zobrazení, a pořadí, ve kterém se zobrazí. Zadejte jeden nebo více názvů vlastností (oddělené čárkami) nebo k zobrazení počítané vlastnosti použijte tabulku hash. Jsou povoleny zástupné cardy.

Pokud tento parametr vynecháte, vlastnosti, které se zobrazí na displeji, závisí na vlastnostech prvního objektu. Pokud má například první objekt VlastnostA a PropertyB, ale následující objekty mají PropertyA, PropertyB a PropertyC pouze PropertyA a PropertyB záhlaví.

Název parametru Vlastnost je nepovinný. Ve stejném příkazu nelze použít parametry vlastnosti a Zobrazit.

Hodnota parametru Vlastnost může být nová počítaná vlastnost. K vytvoření počítané vlastnosti použijte tabulku hash. Platné klíče jsou:

  • Název (nebo popisek) <řetězcové>
  • > bloku skriptu <výrazu> nebo bloku skriptu <
  • Formátovací řetězec <>
  • Šířka <int32>
  • Zarovnání (hodnota může být "Left", "Center" nebo "Right")
Typ:Object[]
Position:0
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:True

-ShowError

Odesílá chyby prostřednictvím kanálu. Tento parametr se používá zřídka, ale lze ho použít jako pomůcku ladění při formátování výrazů v příkazu Format-Table a výrazy se zdá, že nefungují.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-View

Určuje název alternativního formátu tabulky nebo zobrazení. Ve stejném příkazu nelze použít parametry vlastnosti a Zobrazit.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Wrap

Zobrazí text, který překračuje šířku sloupce na dalším řádku. Ve výchozím nastavení je text, který překračuje šířku sloupce, zkrácený.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

PSObject

Do Format-Tablemůžete převést libovolný objekt .

Výstupy

Microsoft.PowerShell.Commands.Internal.Format

Format-Table vrátí objekty formátu, které představují tabulku.

Poznámky

Parametr GroupBy předpokládá, že objekty jsou seřazené. Před použitím Format-Table použijte rutinu Sort-Object k seskupení objektů.

Parametr View umožňuje zadat alternativní formát tabulky. Můžete použít zobrazení definovaná v *.format.PS1XML souborech v adresáři PowerShellu nebo můžete vytvořit vlastní zobrazení v nových souborech PS1XML a pak je pomocí rutiny Update-FormatData zahrnout do PowerShellu. Alternativní zobrazení parametru View musí používat formát tabulky, jinak příkaz selže. Pokud je alternativní zobrazení seznamem, použijte rutinu Format-List. Pokud alternativní zobrazení není seznam ani tabulka, použijte rutinu Format-Custom.