Kimenet megjelenítése grafikus rácsban (Out-GridView)

Az előzőekben is láthattuk, hogy a PowerShell cmdletek kimente gyakran táblázatos formátumú. Sajnos csak akkor látjuk, hogy nem férnek ki megfelelően az oszlopokban található információk, vagy, hogy nekünk rossz sorrendben olvashatóak a sorok, amikor már lefuttattuk a parancssorunkat. Ilyenkor előhívva a történettárból a parancssort lehet javítgatni, alakítgatni, sorrendet változtatni, de ha ez egy hosszadalmasabban futó kód, akkor elég bosszantó a várakozás, amíg a kívánt kimenetet megkapjuk. Ennek felgyorsítására született a grafikus rács kimenet a PowerShell 2.0-ban. Ennek cmdletje az Out-Gridview , amit nézzünk meg egy egyszerű példa segítségével az alábbiakban:

50 . ábra Out-GridView rácsa

Az így megjelenő rács – bár nincs menüje – rengeteg kényelmi szolgáltatást nyújt számunkra:

Teljes szöveges kereső: a felső kereső a teljes táblázatban keresve leszűkíti a listát azokra a sorokra, ahol a begépelt karaktersorozat megtalálható

Sorba rendezés: oszlopfejlécekre kattintva az adott oszlop tartalma szerint sorba rendezve jeleníti meg a sorokat

Összetett szűrő: az oszlopokban megjelenített tulajdonságok értékeire beállított szűrőfeltételekkel lehet szűkíteni a megjelenített sorokat

 

Sajnos az Out-GridView csak azokat az oszlopokat jeleníti meg alaphelyzetben, amik az adott osztály táblázatos nézetében is alaphelyzetben megjelennek. Ha az összes tulajdonságot meg akarjuk jeleníteni, akkor egy Select-Object kifejezést is be kell illesszünk a csővezetékünkbe:

PS C:\> get-service | select-object -Property * | Out-GridView

Ez egy picit nehézkessé teszi a használatát.

Nézzünk egy példát az összetett szűrő használatára:

51 . ábra GridView összetett lekérdezője

PowerShell 3.0-tól kezdődően a grafikus rács egy újabb szolgáltatással bővült. Már nem csak nézegetni lehet benne az adatokat, hanem segít az adatok kiválasztásában is. Ezt a funkciót a -PassThru paraméterrel kapjuk meg:

52 . ábra Out-GridView mint manuális Where-Object

Itt tehát nem kapjuk vissza a promptot a PowerShell ablakban amíg vagy OK-t vagy Cancel-t nem nyomunk. Ha OK előtt kiválasztottunk 1 vagy több objektumot, akkor ezek megjelennek a gomb megnyomása után, mint kimenet:

PS C:\> Get-Service | Out-GridView -PassThru

 

Status   Name               DisplayName

------   ----               -----------

Stopped  AppReadiness       App Readiness

Running  Appinfo            Application Information

Stopped  ALG                Application Layer Gateway Service

Hasonló célokat szolgál az -Outputmode paraméter. Itt háromfajta értéket adhatunk meg: None – ez az alaphelyzet szerinti működést adja, azaz nem működik a kiválasztás. A Single opcióval csak egy elemet lehet kiválasztani. A Multiple opció meg ugyanaz, mint a -PassThru.



Word To HTML Converter