Format-Table
Hiermee wordt de uitvoer opgemaakt als een tabel.
Syntaxis
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-HideTableHeaders]
[-Wrap]
[-GroupBy <Object>][-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>][<CommonParameters>]
Description
De Format-Table
cmdlet formatteert de uitvoer van een opdracht als een tabel met de geselecteerde eigenschappen van het object in elke kolom. Het objecttype bepaalt de standaardindeling en eigenschappen die in elke kolom worden weergegeven, maar u kunt de parameter Eigenschap gebruiken om de eigenschappen te selecteren die u wilt zien.
U kunt ook een hash-tabel gebruiken om berekende eigenschappen toe te voegen aan een object voordat u deze weergeeft en om de kolomkoppen in de tabel op te geven. Als u een berekende eigenschap wilt toevoegen, gebruikt u de parameter Eigenschap of GroupBy.
Voorbeelden
Voorbeeld 1: PowerShell-host opmaken
Met deze opdracht wordt informatie weergegeven over het hostprogramma voor PowerShell in een tabel. Ze worden standaard opgemaakt in een lijst.
Get-Host | Format-Table -AutoSize
De Get-Host
cmdlet haalt objecten op die de host vertegenwoordigen. De pijplijnoperator (|) geeft het object door aan de cmdlet Format-Table
. De Format-Table
cmdlet formatteert de objecten in een tabel. Met de parameter AutoSize worden de kolombreedten aangepast om de afkapping te minimaliseren.
Voorbeeld 2: Processen opmaken op BasisPriority
Met deze opdracht worden de processen op de computer in groepen met dezelfde basisprioriteit weergegeven.
Get-Process | Sort-Object -Property basepriority | Format-Table -GroupBy basepriority -Wrap
Met de cmdlet Get-Process worden objecten opgehaald die elk proces op de computer vertegenwoordigen. De pijplijnoperator (|) geeft het object door aan de cmdlet Sort-Object, waarmee de objecten in volgorde van de basisprioriteit worden gesorteerd.
Een andere pijplijnoperator geeft de resultaten door aan de cmdlet Format-Table
. De parameter GroupBy rangschikt de gegevens over de processen in groepen op basis van de waarde van de eigenschap BasePriority. De parameter Wrap zorgt ervoor dat gegevens niet worden afgekapt.
Voorbeeld 3: Processen opmaken op begindatum
Get-Process | Sort-Object starttime | Format-Table -View starttime
Met deze opdracht wordt informatie weergegeven over de processen op de computer in de groep op basis van de begindatum van het proces. De cmdlet Get-Process wordt gebruikt om objecten op te halen die de processen op de computer vertegenwoordigen. De pijplijnoperator (|) verzendt de uitvoer van Get-Process
naar de Sort-Object
-cmdlet, waarmee deze wordt gesorteerd op basis van de eigenschap StartTime. Een andere pijplijnoperator verzendt de gesorteerde resultaten naar Format-Table
.
De parameter View wordt gebruikt om de StartTime-weergave te selecteren die is gedefinieerd in het DotNetTypes.format.ps1xml
-bestand voor System.Diagnostics.Process-objecten, zoals objecten die worden geretourneerd door Get-Process
. Met deze weergave wordt de StartTime- van het proces geconverteerd naar een korte datum en worden de processen vervolgens gegroepeerd op begindatum.
Het DotNetTypes.format.ps1xml
-bestand bevat ook een weergave voor processen. U kunt uw eigen format.ps1xml-bestanden maken met aangepaste weergaven.
Voorbeeld 4: Services opmaken
Get-Service | Format-Table -Property Name, DependentServices
Met deze opdracht worden alle services op de computer weergegeven in een tabel met twee kolommen, Name en DependentServices. De Get-Service
cmdlet haalt alle services op de computer op. De pijplijnoperator (|) verzendt de resultaten naar de cmdlet Format-Table
, waarmee de uitvoer in een tabel wordt opgemaakt.
De parameter eigenschap geeft de eigenschappen op die in de tabel als kolommen worden weergegeven. De naam van de parameter Eigenschap is optioneel, zodat u deze kunt weglaten, bijvoorbeeld Format-Table Name, DependentServices
.
Name en DependentServices zijn slechts twee van de eigenschappen van serviceobjecten. Als u alle eigenschappen wilt weergeven, typt u Get-Service | Get-Member -MemberType Properties
.
Voorbeeld 5: Een proces opmaken en de uitvoeringsduur ervan berekenen
Deze opdracht laat zien hoe u een berekende eigenschap in een tabel gebruikt.
Get-Process Notepad | Format-Table ProcessName,
@{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}
Met de opdracht wordt een tabel weergegeven met de procesnaam en de totale actieve tijd van alle Kladblok-processen op de lokale computer. De totale uitvoeringsduur wordt berekend door de begintijd van elk proces af te trekken van de huidige tijd.
De opdracht gebruikt de Get-Process
cmdlet om alle processen met de naam Kladblok op de lokale computer op te halen.
De pijplijnoperator (|) verzendt de resultaten naar Format-Table
, waarin een tabel met twee kolommen wordt weergegeven: ProcessName, een standaardeigenschap van processen en TotalRunningTime, een berekende eigenschap.
De eigenschap TotalRunningTime wordt opgegeven door een hashtabel met twee sleutels, Label en Expression. De naam van de eigenschap wordt toegewezen aan de sleutel Label. De berekening wordt toegewezen aan de Expression sleutel. De expressie haalt de eigenschap StartTime van elk procesobject op en trekt deze af van het resultaat van een Get-Date
-opdracht, waarmee de huidige datum en tijd worden opgehaald.
Voorbeeld 6: Kladblok-processen opmaken
Deze opdrachten zijn vergelijkbaar met de vorige opdracht, behalve dat deze opdrachten de Get-WmiObject
cmdlet gebruiken.
$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)}}
De eerste opdracht maakt gebruik van de Get-WmiObject
cmdlet om exemplaren van de WMI-Win32_Process klasse op te halen die alle processen op de Server01-computer met de naam Notepad.exe
beschrijft.
Met de opdracht worden de procesgegevens opgeslagen in de variabele $Processes
.
De tweede opdracht maakt gebruik van een pijplijnoperator (|) om de procesgegevens in de $Processes
variabele te verzenden naar de Format-Table
-cmdlet, waarin de ProcessName en een nieuwe berekende eigenschap worden weergegeven.
Met de opdracht wordt de naam van de nieuwe berekende eigenschap 'Totale actieve tijd' toegewezen aan de sleutel Label. Het scriptblok dat is toegewezen aan de Expressie sleutel berekent hoe lang het proces wordt uitgevoerd door de aanmaakdatum van het proces af te trekken van de huidige datum. De Get-Date
-cmdlet haalt de huidige datum op. De methode ConvertToDateTime converteert de eigenschap CreationDate van het Win32_Process-object van een WMI-CIM_DATETIME-object naar een .NET-DateTime--object dat kan worden vergeleken met de uitvoer van Get-Date
. Vervolgens wordt de geconverteerde aanmaakdatum afgetrokken van de huidige datum. Het resultaat is de waarde van totale lopende tijd.
Voorbeeld 7: Opmaakfouten oplossen
In de volgende voorbeelden ziet u de resultaten van het toevoegen van de DisplayError- of ShowError parameters met een expressie.
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
Parameters
-AutoSize
Geeft aan dat de cmdlet de kolomgrootte en het aantal kolommen aanpast op basis van de breedte van de gegevens. Standaard worden de kolomgrootte en het getal bepaald door de weergave.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DisplayError
Geeft aan dat de cmdlet fouten weergeeft op de opdrachtregel. Deze parameter wordt zelden gebruikt, maar kan worden gebruikt als foutopsporingshulpmiddel wanneer u expressies in een Format-Table
opdracht opmaakt en de expressies niet werken.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Expand
Hiermee geeft u de indeling van het verzamelingsobject, evenals de objecten in de verzameling. Deze parameter is ontworpen om objecten op te maken die ondersteuning bieden voor de interface ICollection (System.Collections). De standaardwaarde is EnumOnly-. De acceptabele waarden voor deze parameter zijn:
- EnumOnly: Geeft de eigenschappen van de objecten in de verzameling weer.
- CoreOnly: Geeft de eigenschappen van het verzamelingsobject weer.
- Beide: Geeft de eigenschappen van het verzamelingsobject en de eigenschappen van objecten in de verzameling weer.
Type: | String |
Geaccepteerde waarden: | CoreOnly, EnumOnly, Both |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Force
Geeft aan dat de cmdlet de cmdlet stuurt om alle foutgegevens weer te geven. Gebruiken met de parameter DisplayError of ShowError. Wanneer een foutobject standaard naar de fout- of weergavestreams wordt geschreven, wordt slechts een deel van de foutgegevens weergegeven.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-GroupBy
Hiermee geeft u gesorteerde uitvoer in afzonderlijke tabellen op basis van een eigenschapswaarde. U kunt bijvoorbeeld GroupBy- gebruiken om services in afzonderlijke tabellen weer te geven op basis van hun status.
Voer een expressie of een eigenschap van de uitvoer in. De uitvoer moet worden gesorteerd voordat u deze naar Format-Table
verzendt.
De waarde van de parameter GroupBy kan een nieuwe berekende eigenschap zijn. Als u een berekende eigenschap wilt maken, gebruikt u een hash-tabel. Geldige sleutels zijn:
- Naam (of label) <tekenreeks>
- Expressie <tekenreeks> of <scriptblok>
- FormatString <tekenreeks>
Type: | Object |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-HideTableHeaders
Hiermee worden de kolomkoppen uit de tabel weggelaten.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InputObject
Hiermee geeft u de objecten op die moeten worden opgemaakt. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald.
Type: | PSObject |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Property
Hiermee geeft u de objecteigenschappen op die worden weergegeven in de weergave en de volgorde waarin ze worden weergegeven. Typ een of meer eigenschapsnamen (gescheiden door komma's) of gebruik een hash-tabel om een berekende eigenschap weer te geven. Jokertekens zijn toegestaan.
Als u deze parameter weglaat, zijn de eigenschappen die in de weergave worden weergegeven afhankelijk van de eigenschappen van het eerste object. Als het eerste object bijvoorbeeld PropertyA- en PropertyB heeft, maar volgende objecten PropertyA-hebben, worden PropertyB- en Property C alleen PropertyA- en PropertyB- kopteksten weergegeven.
De parameternaam eigenschap is optioneel. U kunt de eigenschap en parameters weergeven in dezelfde opdracht niet gebruiken.
De waarde van de parameter eigenschap kan een nieuwe berekende eigenschap zijn. Als u een berekende eigenschap wilt maken, gebruikt u een hash-tabel. Geldige sleutels zijn:
- Naam (of label) <tekenreeks>
- Expressie <tekenreeks> of <scriptblok>
- FormatString <tekenreeks>
- Breedte <int32>
- Uitlijning (waarde kan 'Links', 'Midden' of 'Rechts' zijn)
Type: | Object[] |
Position: | 0 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | True |
-ShowError
Verzendt fouten via de pijplijn. Deze parameter wordt zelden gebruikt, maar kan worden gebruikt als foutopsporingshulpmiddel wanneer u expressies in een Format-Table
opdracht opmaakt en de expressies niet werken.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-View
Hiermee geeft u de naam van een alternatieve tabelindeling of weergave. U kunt de eigenschap en parameters weergeven in dezelfde opdracht niet gebruiken.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Wrap
Hiermee wordt tekst weergegeven die de kolombreedte op de volgende regel overschrijdt. Tekst die de kolombreedte overschrijdt, wordt standaard afgekapt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
U kunt elk object doorslangen naar Format-Table
.
Uitvoerwaarden
Microsoft.PowerShell.Commands.Internal.Format
Format-Table
retourneert indelingsobjecten die de tabel vertegenwoordigen.
Notities
Bij de parameter GroupBy wordt ervan uitgegaan dat de objecten zijn gesorteerd. Gebruik de cmdlet Sort-Object
voordat u Format-Table
gebruikt om de objecten te groeperen.
Met de parameter View kunt u een alternatieve indeling voor de tabel opgeven. U kunt de weergaven gebruiken die zijn gedefinieerd in de *.format.PS1XML
bestanden in de PowerShell-map of u kunt uw eigen weergaven maken in nieuwe PS1XML-bestanden en vervolgens de Update-FormatData
cmdlet gebruiken om ze op te nemen in PowerShell. De alternatieve weergaven voor de parameter Weergave moeten de tabelindeling gebruiken, anders mislukt de opdracht.
Als de alternatieve weergave een lijst is, gebruikt u de cmdlet Format-List
. Als de alternatieve weergave geen lijst of tabel is, gebruikt u de cmdlet Format-Custom
.