• 11/22/2019
  • 5 minutter på å lese
    • j
    • s
    • B
    • m

PowerShell har et sett av cmdlets som tillater deg å kontrollere hvordan egenskaper vises forparticular objekter. Navnene på alle cmdletene til å begynne med verbet Format., De lar deg selectwhich egenskaper som du ønsker å vise.

Get-Command -Verb Format -Module Microsoft.PowerShell.Utility

Denne artikkelen beskriver Format-Wide, Format-List, og Format-Table cmdlets.

Hver objekt-type i PowerShell har standard egenskaper som er brukt når du ikke angi whichproperties å vise. Hver cmdlet bruker også den samme Egenskapen parameteren til å angi whichproperties du ønsker å vise., Fordi Format-Wide viser bare en enkelt eiendel, sin Propertyparameter tar bare en enkelt verdi, men den eiendom parametere Format-List og Format-Tablegodta en liste av eiendom navn.

I dette eksempelet, standard output av Get-Process cmdlet viser at vi har to forekomster ofInternet Explorer kjører.,

Get-Process -Name iexplore

standard-formatet for å Behandle objekter viser egenskapene som vises her:

 NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName ------ ----- ----- ------ -- -- ----------- 32 25.52 10.25 13.11 12808 1 iexplore 52 11.46 26.46 3.55 21748 1 iexplore

ved Hjelp av Format-Wide for Enkelt-Item-Utgang

Format-Wide cmdlet, som standard, vises bare den standard egenskap ved et objekt., Informasjonen som er knyttet til hvert objekt skal vises i en enkelt kolonne:

Get-Command -Verb Format | Format-Wide
Format-Custom Format-HexFormat-List Format-TableFormat-Wide

Du kan også angi en ikke-standard eiendom:

Get-Command -Verb Format | Format-Wide -Property Noun
Custom HexList TableWide

Controlling-Format-Wide-Skjerm med Kolonne

Med Format-Wide cmdlet, du kan bare vise en enkelt eiendel på en gang. Dette gjør ituseful for å vise store lister i flere kolonner.,

Get-Command -Verb Format | Format-Wide -Property Noun -Column 3
Custom Hex ListTable Wide

ved Hjelp av Format-Listen for en Liste Vis

Format-List cmdlet viser et objekt i form av en liste med hver eiendom labeledand vises på en egen linje:

Get-Process -Name iexplore | Format-List
Id : 12808Handles : 578CPU : 13.140625SI : 1Name : iexploreId : 21748Handles : 641CPU : 3.59375SI : 1Name : iexplore

Du kan angi så mange egenskaper som du ønsker:

Get-Process -Name iexplore | Format-List -Property ProcessName,FileVersion,StartTime,Id

Få Detaljert Informasjon ved Hjelp av Format-Listen med Jokertegn

Format-List cmdlet kan du bruke et jokertegn som verdien av Eiendommen sin parameter., Thislets du vil vise detaljert informasjon. Ofte, objekter inneholde mer informasjon enn du trenger, whichis hvorfor PowerShell viser ikke all eiendom verdier som standard. For å vise alle egenskapene ofan objekt, bruk Format-List -Property * – kommandoen. Den følgende kommandoen genererer over 60lines av-utgang for en enkelt prosess:

Get-Process -Name iexplore | Format-List -Property *

Selv om Format-List kommandoen er nyttig for å vise detaljene, hvis du vil ha en oversikt over outputthat inneholder mange elementer, for en enklere tabellvisning er ofte mer nyttig.,

ved Hjelp av Format-Table for Tabellform Utgang

Hvis du bruker Format-Table cmdlet ingen eiendom navn spesifisert format utdataene fraGet-Process – kommandoen, kan du få nøyaktig samme effekt som du kan gjøre uten en Format cmdleten. Bydefault, PowerShell viser Prosessen objekter i et tabellformat.

Get-Service -Name win* | Format-Table

Bedre Format-Table-Utgang (AutoSize)

Selv om en tabellvisning er nyttig for å vise mye informasjon, det kan være vanskelig tointerpret hvis skjermen er for smalt for data., I forrige eksempel, utgang istruncated. Hvis du angir AutoSize parameter når du kjører Format-Table – kommandoen,PowerShell beregner kolonnebreddene basert på faktiske data som vises. Dette gjør columnsreadable.

Get-Service -Name win* | Format-Table -AutoSize

Format-Table cmdlet kan fortsatt avkorte data, men det bare avkorter på slutten av thescreen. Egenskaper, andre enn den siste som vises, er gitt så mye størrelse som de trenger for theirlongest data element for å vise forståelse.,

Get-Service -Name win* | Format-Table -Property Name,Status,StartType,DisplayName,DependentServices -AutoSize

Format-Table kommandoen forutsetter at eiendommene er oppført i rekkefølge av betydning. Så det attemptsto fullt vise egenskaper nærmeste begynnelsen. Hvis Format-Table – kommandoen, kan ikke displayall egenskaper, det fjerner noen kolonner fra skjermen. Du kan se dette i theDependentServices eiendom forrige eksempel.

Innpakning Format-Table-Utgang i Kolonner (Wrap)

Du kan tvinge lange Format-Table data for å bryte innenfor sitt vis kolonne ved å bruke Wrapparameter., Ved hjelp av Wrap-parameteren kan ikke gjøre hva du kan forvente, siden det usesdefault innstillinger hvis du ikke spesifiserer også AutoSize:

Get-Service -Name win* | Format-Table -Property Name,Status,StartType,DisplayName,DependentServices -Wrap

ved Hjelp av Wrap-parameteren i seg selv ikke forsinke behandlingen veldig mye. Imidlertid, usingAutoSize til å formatere en rekursiv fil som viser en stor katalog struktur kan ta lang timeand bruker mye minne, før du viser den første utgang elementer.

Hvis du ikke er bekymret for belastningen på systemet, deretter AutoSize fungerer godt med Wrap-parameteren.,Den første kolonnene fortsatt bruke så mye bredde som er nødvendig for å vise elementer på én linje, men finalcolumn er pakket inn, hvis det er nødvendig.

Merk

Noen kolonner kan ikke vises når du angir det største kolonner første. For best resultat,angi den minste data elementer første.

I følgende eksempel, så oppgir vi den bredeste egenskaper først.

Get-Process -Name iexplore | Format-Table -Wrap -AutoSize -Property FileVersion,Path,Name,Id

Selv med innpakning, den endelige Id-kolonne er utelatt:

Organisering Tabell Utgang (-GroupBy)

en Annen nyttig parameter for tabellform utgang er GroupBy., Lenger tabellform oppføringer inparticular kan være vanskelig å sammenligne. Den GroupBy parameter grupper utgang basert på en propertyvalue. Vi kan For eksempel gruppe tjenester av StartType for enklere kontroll, og utelate theStartType verdi fra eiendommen listing:

Get-Service -Name win* | Sort-Object StartType | Format-Table -GroupBy StartType