Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A PowerShell olyan parancsmagokkal rendelkezik, amelyekkel szabályozhatja, hogy az egyes objektumok tulajdonságai hogyan jelenjenek meg. Az összes parancsmag neve a Format
igével kezdődik. Ezek segítségével kiválaszthatja, hogy mely tulajdonságokat szeretné megjeleníteni.
Get-Command -Verb Format -Module Microsoft.PowerShell.Utility
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Format-Custom 6.1.0.0 Microsoft.PowerShell.Utility
Cmdlet Format-Hex 6.1.0.0 Microsoft.PowerShell.Utility
Cmdlet Format-List 6.1.0.0 Microsoft.PowerShell.Utility
Cmdlet Format-Table 6.1.0.0 Microsoft.PowerShell.Utility
Cmdlet Format-Wide 6.1.0.0 Microsoft.PowerShell.Utility
Ez a cikk a Format-Wide
, Format-List
és Format-Table
parancsmagokat ismerteti.
A PowerShell minden objektumtípusa alapértelmezett tulajdonságokkal rendelkezik, amelyeket akkor használ, ha nem választja ki a megjelenítendő tulajdonságokat. Minden parancsmag ugyanazt a Tulajdonság paramétert használja annak megadásához, hogy mely tulajdonságok jelenjenek meg. Mivel Format-Wide
csak egyetlen tulajdonságot jelenít meg, a Tulajdonság paraméter csak egyetlen értéket vesz fel, de a Tulajdonság paramétere Format-List
és Format-Table
elfogadja a tulajdonságnevek listáját.
Ebben a példában a Get-Process
parancsmag alapértelmezett kimenete azt mutatja, hogy az Internet Explorer két példánya fut.
Get-Process -Name iexplore
A Folyamat objektumok alapértelmezett formátuma az itt látható tulajdonságokat jeleníti meg:
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
Format-Wide használata egyelemes kimenethez
A Format-Wide
parancsmag alapértelmezés szerint csak az objektum alapértelmezett tulajdonságát jeleníti meg. Az egyes objektumokhoz társított információk egyetlen oszlopban jelennek meg:
Get-Command -Verb Format | Format-Wide
Format-Custom Format-Hex
Format-List Format-Table
Format-Wide
Megadhat egy nem alapértelmezett tulajdonságot is:
Get-Command -Verb Format | Format-Wide -Property Noun
Custom Hex
List Table
Wide
A Format-Wide kijelző vezérlése oszloppal
A Format-Wide
parancsmaggal egyszerre csak egyetlen tulajdonság jeleníthető meg. Ez hasznossá teszi a nagyméretű listák több oszlopban való megjelenítését.
Get-Command -Verb Format | Format-Wide -Property Noun -Column 3
Custom Hex List
Table Wide
Format-List használata listanézethez
A Format-List
parancsmag egy objektumot jelenít meg listaelem formájában, minden tulajdonság címkével és külön sorban jelenik meg:
Get-Process -Name iexplore | Format-List
Id : 12808
Handles : 578
CPU : 13.140625
SI : 1
Name : iexplore
Id : 21748
Handles : 641
CPU : 3.59375
SI : 1
Name : iexplore
Annyi tulajdonságot adhat meg, amennyit csak szeretne:
Get-Process -Name iexplore | Format-List -Property ProcessName,FileVersion,StartTime,Id
ProcessName : iexplore
FileVersion : 11.00.18362.1 (WinBuild.160101.0800)
StartTime : 10/22/2019 11:23:58 AM
Id : 12808
ProcessName : iexplore
FileVersion : 11.00.18362.1 (WinBuild.160101.0800)
StartTime : 10/22/2019 11:23:57 AM
Id : 21748
Részletes információk lekérése Format-List joker karakterekkel
A Format-List
parancsmag lehetővé teszi, hogy helyettesítő karaktert használjon a Tulajdonság paraméter értékeként. Ez lehetővé teszi a részletes információk megjelenítését. Az objektumok gyakran a szükségesnél több információt tartalmaznak, ezért a PowerShell alapértelmezés szerint nem jeleníti meg az összes tulajdonságértéket. Egy objektum összes tulajdonságának megjelenítéséhez használja a Format-List -Property *
parancsot. A következő parancs több mint 60 sornyi kimenetet generál egyetlen folyamathoz:
Get-Process -Name iexplore | Format-List -Property *
Bár a Format-List
parancs hasznos a részletek megjelenítéséhez, ha több elemet tartalmazó kimenet áttekintésére van szüksége, az egyszerűbb táblázatos nézet gyakran hasznosabb.
Format-Table használata táblázatos kimenethez
Ha a Format-Table
parancsmagot a Get-Process
parancs kimenetének formázásához megadott tulajdonságnevek nélkül használja, pontosan ugyanazt a kimenetet kapja, mint a Format
parancsmag nélkül. A PowerShell alapértelmezés szerint táblázatos formátumban jeleníti meg objektumokat.
Get-Service -Name win* | Format-Table
Status Name DisplayName
------ ---- -----------
Running WinDefend Windows Defender Antivirus Service
Running WinHttpAutoProx... WinHTTP Web Proxy Auto-Discovery Se...
Running Winmgmt Windows Management Instrumentation
Running WinRM Windows Remote Management (WS-Manag...
Megjegyzés
Get-Service
csak Windows-platformokon érhető el.
A Format-Table kimenetének javítása
Bár a táblázatos nézet sok információ megjelenítéséhez hasznos, nehéz lehet értelmezni, ha a megjelenítés túl keskeny az adatokhoz. Az előző példában a kimenet csonkolt. Ha a Format-Table
parancs futtatásakor megadja a Automatikus méretezés paramétert, a PowerShell a megjelenített adatok alapján kiszámítja az oszlopszélességeket. Ez olvashatóvá teszi az oszlopokat.
Get-Service -Name win* | Format-Table -AutoSize
Status Name DisplayName
------ ---- -----------
Running WinDefend Windows Defender Antivirus Service
Running WinHttpAutoProxySvc WinHTTP Web Proxy Auto-Discovery Service
Running Winmgmt Windows Management Instrumentation
Running WinRM Windows Remote Management (WS-Management)
Előfordulhat, hogy a Format-Table
parancsmag továbbra is csonkolja az adatokat, de csak a képernyő végén csonkolja.
Az utolsótól eltérő tulajdonságok annyi méretet kapnak, amennyi a leghosszabb adatelem helyes megjelenítéséhez szükséges.
Get-Service -Name win* |
Format-Table -Property Name, Status, StartType, DisplayName, DependentServices -AutoSize
Name Status StartType DisplayName DependentServi
ces
---- ------ --------- ----------- --------------
WinDefend Running Automatic Windows Defender Antivirus Service {}
WinHttpAutoProxySvc Running Manual WinHTTP Web Proxy Auto-Discovery Service {NcaSvc, iphl…
Winmgmt Running Automatic Windows Management Instrumentation {vmms, TPHKLO…
WinRM Running Automatic Windows Remote Management (WS-Management) {}
A Format-Table
parancs feltételezi, hogy a tulajdonságok fontossági sorrendben vannak felsorolva. A parancsmag megpróbálja teljes mértékben megjeleníteni azokat a tulajdonságokat, amelyek a legközelebb vannak az elejéhez. Ha a Format-Table
parancs nem tudja megjeleníteni az összes tulajdonságot, eltávolít néhány oszlopot a megjelenítésből. Ezt a viselkedést az előző példában, a DependentServices tulajdonságban láthatja.
Format-Table kimenet körbefuttatása oszlopokban
A Wrap paraméterrel kényszerítheti a hosszú Format-Table
adatokat, hogy a megjelenítési oszlopban tördelődjenek. Előfordulhat, hogy a Wrap paraméter használata nem a várt módon működik, mivel az alapértelmezett beállításokat használja, ha nem adja meg AutoSize.
Get-Service -Name win* |
Format-Table -Property Name, Status, StartType, DisplayName, DependentServices -Wrap
Name Status StartType DisplayName DependentServi
ces
---- ------ --------- ----------- --------------
WinDefend Running Automatic Windows Defender Antivirus Service {}
WinHttpAutoProxySvc Running Manual WinHTTP Web Proxy Auto-Discovery Service {NcaSvc,
iphlpsvc}
Winmgmt Running Automatic Windows Management Instrumentation {vmms,
TPHKLOAD,
SUService,
smstsmgr…}
WinRM Running Automatic Windows Remote Management (WS-Management) {}
A Wrap paraméter önmagában nem lassítja a feldolgozást. Ha azonban AutoSize használatával formázza egy nagy könyvtárstruktúra rekurzív fájllistáit, sok időt vehet igénybe, és sok memóriát használhat az első kimeneti elemek megjelenítése előtt.
Ha nem aggódik a rendszerterhelés miatt, akkor Automatikus méretezés jól működik a Wrap paraméterrel. A kezdeti oszlopok továbbra is a szükséges szélességet használják az elemek egy sorban való megjelenítéséhez, de szükség esetén a végső oszlop be van csomagolva.
Megjegyzés
Előfordulhat, hogy bizonyos oszlopok nem jelennek meg, ha a legszélesebb oszlopokat adjuk meg először. A legjobb eredmény érdekében először adja meg a legkisebb adatelemeket.
Az alábbi példában először a legszélesebb tulajdonságokat adhatja meg.
Get-Process -Name iexplore |
Format-Table -Wrap -AutoSize -Property FileVersion, Path, Name, Id
Még a körbefuttatás alkalmazása esetén is kihagyásra kerül az utolsó azonosító oszlop.
FileVersion Path Nam
e
----------- ---- ---
11.00.18362.1 (WinBuild.160101.0800) C:\Program Files (x86)\Internet Explorer\IEXPLORE.EXE iex
plo
re
11.00.18362.1 (WinBuild.160101.0800) C:\Program Files\Internet Explorer\iexplore.exe iex
plo
re
Táblakimenet rendszerezése
A táblázatos kimenet vezérlőelem másik hasznos paramétere GroupBy. A hosszabb táblázatos listaelemeket különösen nehéz lehet összehasonlítani. A GroupBy paraméter tulajdonságérték alapján csoportosítja a kimenetet. Például csoportosíthatjuk a szolgáltatásokat StartType alapján a könnyebb ellenőrzés érdekében, és kihagyhatjuk a StartType értéket a tulajdonságlistából:
Get-Service -Name win* | Sort-Object StartType | Format-Table -GroupBy StartType
StartType: Automatic
Status Name DisplayName
------ ---- -----------
Running WinDefend Windows Defender Antivirus Service
Running Winmgmt Windows Management Instrumentation
Running WinRM Windows Remote Management (WS-Managem…
StartType: Manual
Status Name DisplayName
------ ---- -----------
Running WinHttpAutoProxyS… WinHTTP Web Proxy Auto-Discovery Serv…