• 11/22/2019
  • 5 minute pentru a citi
    • j
    • s
    • B
    • m

PowerShell are un set de cmdlet-uri care vă permit să controlați modul în care sunt afișate proprietățile forparticular obiecte. Numele tuturor cmdleturilor încep cu verbul Format., Acestea vă permit să selectațicare proprietăți doriți să afișați.

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

Acest articol descrie Format-Wide, Format-List și Format-Table cmdlets.

fiecare tip de obiect din PowerShell are proprietăți implicite care sunt utilizate atunci când nu specificați ce proprietăți să afișați. Fiecare cmdlet utilizează, de asemenea, același parametru de proprietate pentru a specifica ceproprietăți doriți să afișați., Pentru că Format-Wide arată doar o singură proprietate, sa Propertyparameter nevoie de doar o singură valoare, dar proprietatea parametrii Format-List și Format-Tableaccepta o listă de nume de proprietăți.

în acest exemplu, ieșirea implicită a Get-Process cmdlet arată că avem două instanțe deinternet Explorer care rulează.,

Get-Process -Name iexplore

formatul implicit pentru Procesul de obiecte afișează proprietățile prezentate aici:

 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

Folosind Format-Lat pentru un Singur Element de Ieșire

Format-Wide cmdlet, în mod implicit, se afișează numai implicit proprietate a unui obiect., Informațiile asociate cu fiecare obiect este afișat într-o singură coloană:

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

puteți specifica, de asemenea, un non-default proprietate:

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

Controlul Format-Afișaj Lat cu Coloana

Cu Format-Wide cmdlet-ului, puteți afișa doar o singură proprietate la un moment dat. Acest lucru îl face util pentru afișarea listelor mari în mai multe coloane.,

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

Folosind Format-o Listă pentru o Vizualizare Listă

Format-List cmdlet-ul afișează un obiect în formă de listă, cu fiecare proprietate labeledand afișate pe o linie separată:

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

puteți specifica cât de multe proprietăți, după cum doriți:

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

Obținerea de Informații Detaliate cu Ajutorul Format-Lista cu Metacaractere

Format-List cmdlet-ul vă permite să utilizați un wildcard ca valoarea Proprietății sale parametru., Thislets vă afișa informații detaliate. Adesea, obiectele includ mai multe informații decât aveți nevoie, careeste motivul pentru care PowerShell nu afișează în mod implicit toate valorile proprietății. Pentru a afișa toate proprietățile unui obiect, utilizați comanda Format-List -Property *. Următoarea comandă generează peste 60lines de ieșire pentru un singur proces:

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

Desi Format-List comandă este utilă pentru a arăta detalii, dacă doriți o imagine de ansamblu a outputthat include mai multe elemente, un simplu tabel, vizualizare este de multe ori mai util.,

Folosind Format-Table pentru Tabele de Ieșire

Dacă utilizați Format-Table cmdlet-ul cu nici un nume de proprietăți specificate la formatul de ieșire alGet-Process comandă, veți obține exact același rezultat ca și tine, fără un Format cmdlet. Bydefault, PowerShell afișează obiecte de proces într-un format tabelar.

Get-Service -Name win* | Format-Table

Îmbunătățirea Format-Table de Ieșire (AutoSize)

Deși o vizualizare tabel este util pentru afișarea o mulțime de informații, poate fi dificil tointerpret dacă afișajul este prea îngust pentru date., În exemplul anterior, ieșirea estestruncat. Dacă specificați parametrul AutoSize când executați comanda Format-Table, PowerShell calculează lățimile coloanelor pe baza datelor reale afișate. Acest lucru face ca coloanelecitibil.

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

Format-Table cmdlet ar mai putea trunchia de date, dar numai trunchiază la sfârșitul thescreen. Proprietățile, altele decât ultima afișată, sunt date la fel de mult ca au nevoie pentru elementul lorlongest date pentru a afișa corect.,

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

comanda Format-Table presupune că proprietățile sunt listate în ordinea importanței. Deci încearcă să afișeze pe deplin proprietățile cele mai apropiate de început. Dacă comanda Format-Table nu poate afișatoate proprietățile, elimină unele coloane de pe afișaj. Puteți vedea acest comportament înproprietatea dependentservices exemplul anterior.

format ambalaj – ieșire tabel în coloane (Wrap)

puteți forța de lungă durată Format-Table date să-și încheie în coloana de afișare utilizând Wrapparameter., Folosind Folie parametru nu poate face ceea ce te astepti, deoarece usesdefault setări dacă nu specificați, de asemenea, AutoSize:

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

Folosind Folie parametru de sine nu încetini prelucrare foarte mult. Cu toate acestea, utilizareaautosize pentru a formata o listă de fișiere recursive a unei structuri de directoare mari poate dura mult timpși utilizați o mulțime de memorie înainte de a afișa primele elemente de ieșire.dacă nu sunteți preocupat de încărcarea sistemului, atunci AutoSize funcționează bine cu parametrul Wrap.,Coloanele inițiale utilizează în continuare lățimea necesară pentru a afișa elementele pe o singură linie, dar coloana finală este înfășurată, dacă este necesar.este posibil ca unele coloane să nu fie afișate atunci când specificați mai întâi cele mai largi coloane. Pentru cele mai bune rezultate,specificați mai întâi cele mai mici elemente de date.

în exemplul următor, specificăm mai întâi cele mai largi proprietăți.

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

Chiar si cu ambalaj, final Id coloana este omis:

Organizarea Mesei de Ieșire (-GroupBy)

un Alt parametru util pentru tabelară comandă de ieșire este GroupBy., Listări tabulare mai lungi înîn special poate fi greu de comparat. Grupul de parametri grupează ieșirea bazată pe o propertyvalue. De exemplu, putem grupa servicii de StartType pentru a fi mai ușor de inspecție, omițând theStartType valoare de listare de proprietate:

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