Nezabudnite si prečítať predchádzajúce články v sérii:
- Naučte sa ako automatizovať systém Windows pomocou nástroja PowerShell
- Naučiť sa používať Cmdlets v PowerShell
- Učenie ako používať objekty v PowerShell
A zostávajte celú týždeň na zvyšok série.
Predvolené formátovanie
Keď som prvýkrát začal používať PowerShell, myslel som si, že všetko je kúzlo, ale pravdou je, že trvá len trochu času, aby sme pochopili, čo sa deje pod kapucňou. To isté platí pre formátovací systém PowerShell. V skutočnosti, ak spustíte Get-Service cmdlet, generovaný výstup zobrazí iba tri vlastnosti: Status, Name a DisplayName.
notepad C:WindowsSystem32WindowsPowerShellv1.0DotNetTypes.format.ps1xml
Ak použijeme funkciu Vyhľadávač poznámok, môžeme rýchlo preskočiť na sekciu, ktorá podrobne opisuje výstup cmdletu Get-Service vyhľadaním typu ServiceController.
Formátovanie údajov
Ak nie ste spokojní s predvoleným formátovaním objektu alebo typu, môžete si upraviť vlastné formátovanie. Existujú tri cmdlety, ktoré potrebujete vedieť.
- Format-List
- Format-Table
- Format-Wide
Format-Wide jednoducho berie zbierku objektov a zobrazí jednu vlastnosť každého objektu. Štandardne bude vyhľadávať vlastnosť názvu; ak vaše objekty neobsahujú vlastnosť názvu, použije prvú vlastnosť objektu, akonáhle sú vlastnosti zoradené abecedne.
Get-Service | Format-Wide
Get-Service | Format-Wide -Property DisplayName -Column 6
Tento tabuľkový prehľad skutočne vyhovuje tomuto typu informácií veľmi dobre, ale predstierame, že ho chceme zobraziť vo forme zoznamu. Všetko, čo naozaj musíme urobiť, je to, aby to bolo Format-List.
Get-Process | Format-List
Get-Process | Format-List –Property *
Get-Process | Format-List –Property name,id
Format-Table, na druhej strane berie údaje a mení ich na stôl. Vzhľadom na to, že naše dáta zo služby Get-Process sú už vo forme tabuľky, môžeme ju použiť na ľahké výbery vlastností, ktoré chceme zobraziť v tabuľke. Použil som parameter AutoSize, aby sa všetky údaje prispôsobili jednej obrazovke.
Get-Process | Format-Table name,id –AutoSize
Filtrovanie a porovnávanie
Jednou z najlepších vecí, pokiaľ ide o používanie objektovo orientovaného potrubia, je, že môžete použiť filtrovanie objektov z potrubia v ľubovoľnom kroku pomocou rutiny Kde-Object.
Get-Service | Where-Object {$_.Status -eq “Running”}
- eq (Equal To)
- neq (nie je rovná)
- gt (väčšia ako)
- ge (väčšia ako rovná)
- (menej ako)
- le (menej ako alebo rovno)
- ako (Zápasový reťazec zápas)
Úplný zoznam a ďalšie informácie si môžete pozrieť v koncepčnom súbore nápovedy "about_comparison", avšak niekedy trvá zvyknúť si na syntax Kde-Object. To je všetko za tento čas!