• 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-Tableacceptere 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