Vaadake kindlasti eelmise sarja artikleid:
- Lugege, kuidas automatiseerida Windows PowerShelliga
- Õpime PowerShellis kasutama kommuteid
- PowerShellis Objektide kasutamise õppimine
Ja jääge häälestatuks ülejäänud sarja kogu nädala jooksul.
Vaikimisi vormindamine
Kui ma esimest korda PowerShelliga alustan, mõtlesin, et kõik on maagiline, kuid tõde on see, et lihtsalt mõni aeg mõista, mis toimub kapoti all. Sama kehtib ka PowerShelli vormindussüsteemi kohta. Kui käivitate cmdlet Get-Service, kuvatakse ainult väljundis 3 omadust: olek, nimi ja DisplayName.
notepad C:WindowsSystem32WindowsPowerShellv1.0DotNetTypes.format.ps1xml
Kui me kasutame noteerimisfunktsiooni Find funktsiooni, võime kiiresti otsida ServiceControlleri tüübi otsimiseks jaotisse, kus kirjeldatakse Get-Service'i cmdlet väljundit.
Teie andmete vormindamine
Kui te ei ole rahul objekti või tüübi vaikimisi vormindamisega, saate oma vormingut rullida. Selleks on vaja kolm cmdletti, mida pead teadma.
- Formaat-nimekiri
- Formaat-tabel
- Formaat-lai
Formaat-lai võtab lihtsalt objektide kogu ja kuvab iga objekti ühe omaduse. Vaikimisi otsib see nimevara; kui teie objektid ei sisalda nimeomadust, kasutab ta objekti esimest vara pärast seda, kui omadused on sorteeritud tähestikuliselt.
Get-Service | Format-Wide
Get-Service | Format-Wide -Property DisplayName -Column 6
See tabeli vaade sobib väga hästi sellisele teabele, kuid teeme ette, et tahame seda loendi vormis vaadata. Kõik, mida me peame tõesti tegema, on toru see sisse Formaat-nimekiri.
Get-Process | Format-List
Get-Process | Format-List –Property *
Get-Process | Format-List –Property name,id
Formaat-tabel teisalt võtab andmeid ja muudab selle tabelisse. Kuna meie Get-Processist saadud andmed on juba tabeli kujul, võime seda kasutada, et lihtsalt valida tabelis kuvatavad omadused. Ma kasutasin parameetrit AutoSize, et kõik andmed sobiksid ühele ekraanile.
Get-Process | Format-Table name,id –AutoSize
Filtreerimine ja võrdlemine
Üks objektoripõhise torujuhtme kasutamise parimatest asjadest on see, et saate objektidest torujuhtmetest filtreerida mis tahes etapis, kasutades Where-Objekti cmdletti.
Get-Service | Where-Object {$_.Status -eq “Running”}
- eq (võrdsed)
- neq (ei võrdu)
- gt (suurem kui)
- ge (suurem kui võrdne)
- see (vähem kui)
- le (vähem kui võrdne)
- nagu (Wildcard String Match)
Täielikku nimekirja ja lisateavet saab vaadata umbes võrdluskontseptuaalsest abifailist, kuid see võtab veidi aega, et kasutada kus-Obejekti süntaksit. See on kõik selleks ajaks!