- 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-Table
godta 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