- 11/22/2019
- 5 minutter på at læse
-
- j
- s
- B
- m
PowerShell er et sæt af cmdlet-kommandoer, der giver dig mulighed for at styre, hvordan egenskaber vises forparticular objekter. Navnene på alle cmdlets begynder med verbet Format
., De lader dig vælge hvilke egenskaber du vil vise.
Get-Command -Verb Format -Module Microsoft.PowerShell.Utility
Denne artikel beskriver Format-Wide
Format-List
og Format-Table
cmdlets.
hver objekttype i Po .ershell har Standardegenskaber, der bruges, når du ikke angiver, hvilke egenskaber der skal vises. Hver cmdlet bruger også den samme Egenskabsparameter til at angive, hvilke egenskaber du vil vise., Fordi Format-Wide
viser kun en enkelt ejendom, sin Propertyparameter tager kun en enkelt værdi, men den ejendom parametre Format-List
og Format-Table
acceptere en liste af ejendom navne.
I dette eksempel, standard output Get-Process
cmdlet viser, at vi har to tilfælde påinternet Explorer, der kører.,
Get-Process -Name iexplore
standard format for at Behandle objekterne viser de ejendomme, der er vist 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 Hjælp af Format-Stort til Single-Item Output
Format-Wide
cmdlet, som standard, vises kun den standard ejendom for et objekt., Theinformation, der er forbundet med hvert af de objekter, der vises i en enkelt kolonne:
Get-Command -Verb Format | Format-Wide
Format-Custom Format-HexFormat-List Format-TableFormat-Wide
Du kan også angive en ikke-standard egenskaber:
Get-Command -Verb Format | Format-Wide -Property Noun
Custom HexList TableWide
Controlling-Format-Stort Display med Kolonne
Med Format-Wide
cmdlet, kan du kun vise en enkelt ejendom, på et tidspunkt. Dette gør det nyttigt for at vise store lister i flere kolonner.,
Get-Command -Verb Format | Format-Wide -Property Noun -Column 3
Custom Hex ListTable Wide
ved Hjælp af Format-Liste for et Liste-View
Format-List
cmdlet viser et objekt i form af en liste med hver enkelt ejendom labeledand, der vises på en separat linje:
Get-Process -Name iexplore | Format-List
Id : 12808Handles : 578CPU : 13.140625SI : 1Name : iexploreId : 21748Handles : 641CPU : 3.59375SI : 1Name : iexplore
Du kan angive så mange egenskaber, som du ønsker:
Get-Process -Name iexplore | Format-List -Property ProcessName,FileVersion,StartTime,Id
at Få Detaljerede Oplysninger ved at Bruge Format-Liste med Jokertegn
Format-List
cmdlet kan du bruge jokertegn som værdien af sin Ejendom parameter., Thislets du vise detaljerede oplysninger. Ofte indeholder objekter mere information, end du har brug for, hvilkeer hvorfor Po .ershell ikke viser alle ejendomsværdier som standard. For at vise alle egenskaber vedet objekt, Brug kommandoen Format-List -Property *
. Følgende kommando genererer over 60lines for udgang til en enkelt proces:
Get-Process -Name iexplore | Format-List -Property *
Selv Format-List
kommando er nyttige til at vise detaljer, hvis du vil se en oversigt over outputthat indeholder mange elementer, en enklere tabelvisning er ofte mere nyttigt.,
ved Hjælp af Format-Tabel til Tabel Output
Hvis du bruger Format-Table
cmdlet med nogen ejendom navne, der er angivet til at formatere output iGet-Process
kommando, du får nøjagtig det samme output som du gør, uden en Format
cmdlet. Ved default viser Po .ershell Procesobjekter i et tabelformat.
Get-Service -Name win* | Format-Table
forbedring af Format-tabel Output (Autosizee)
selvom en tabelvisning er nyttig til visning af masser af oplysninger, kan det være vanskeligt at fortolke, hvis displayet er for smalt til dataene., I det foregående eksempel er outputenstrunkeret. Hvis du angiver parameteren Autosizee, når du kører kommandoen Format-Table
, beregner Po .ershell kolonnebredder baseret på de faktiske viste data. Dette gør kolonnernelæselig.
Get-Service -Name win* | Format-Table -AutoSize
Format-Table
cmdlet kan stadig afkorte data, men det afkorter kun i slutningen af skærmen. Egenskaber, bortset fra den sidste viste, er givet så meget størrelse som de har brug for dereslangeste dataelement til at vise korrekt.,
Get-Service -Name win* | Format-Table -Property Name,Status,StartType,DisplayName,DependentServices -AutoSize
kommandoenFormat-Table
antager, at egenskaber er angivet i rækkefølge af betydning. Så det forsøgerat fuldt ud vise egenskaberne nærmest begyndelsen. Hvis kommandoen Format-Table
ikke kan visealle egenskaber, fjerner den nogle kolonner fra displayet. Du kan se denne adfærd i theDependentServices ejendom tidligere eksempel.
Indpakning Format-Output Tabel i Kolonner (Wrap)
Du kan tvinge langvarige Format-Table
data til wrap i sin skærm kolonne ved hjælp Wrapparameter., Brug af parameterrap-parameteren gør muligvis ikke, hvad du forventer, da den brugerstandardindstillinger, hvis du ikke også angiver Autosizee:
Get-Service -Name win* | Format-Table -Property Name,Status,StartType,DisplayName,DependentServices -Wrap
brug af parameterrap-parameteren i sig selv bremser ikke behandlingen meget. Men usingautosizee at formatere en rekursiv fil notering af en stor mappestruktur kan tage lang tidog bruge masser af hukommelse, før der vises de første output elementer.
Hvis du ikke er bekymret for systembelastning, fungerer Autosizee godt med Wraprap-parameteren.,De indledende kolonner bruger stadig så meget bredde som nødvendigt for at vise elementer på en linje, men den endeligekolonne er om nødvendigt indpakket.
Bemærk
nogle kolonner vises muligvis ikke, når du først angiver de bredeste kolonner. For de bedste resultater skal du først angive de mindste dataelementer.
i det følgende eksempel angiver vi først de bredeste egenskaber.
Get-Process -Name iexplore | Format-Table -Wrap -AutoSize -Property FileVersion,Path,Name,Id
Selv med indpakning, den endelige Id-kolonne, er udeladt:
Organisering Tabel Output (-GroupBy)
en Anden nyttig parameter til tabelform output-kontrol er GroupBy., Længere tabeloversigter inparticular kan være svært at sammenligne. GroupBy-parameteren grupperer output baseret på en propertyvalue. For eksempel kan vi gruppere tjenester efter StartType for lettere inspektion, udelade Starttype-værdien fra ejendomsfortegnelsen:
Get-Service -Name win* | Sort-Object StartType | Format-Table -GroupBy StartType