Obavezno pročitajte prethodne članke serije:
- Saznajte kako automatizirati sustav Windows pomoću programa PowerShell
- Učenje pomoću Cmdletsa u PowerShellu
- Učenje kako koristiti objekte u PowerShellu
I ostanite u tijeku cijele serije cijeli tjedan.
Zadano je oblikovanje
Kad sam prvi put počeo s PowerShellom, mislio sam da je sve magija, ali istina je da treba samo malo vremena da shvatim što se događa ispod nape. Isto vrijedi i za sustav oblikovanja PowerShell. Zapravo, ako pokrenete cmdlet Get-Service, generirani output prikazuje samo 3 svojstva: Status, Naziv i DisplayName.
notepad C:WindowsSystem32WindowsPowerShellv1.0DotNetTypes.format.ps1xml
Ako koristimo funkciju Notepad Find, brzo možemo preskočiti do odjeljka koji detalje o izlazu cmdleta Get-Service pretraživanjem vrste ServiceController.
Oblikovanje podataka
Ako niste zadovoljni s zadanim oblikovanjem objekta ili vrste, možete pokrenuti vlastiti oblikovanje. Za to morate znati tri cmdleta.
- Format-List
- Format-tablica
- Format-Široki
Format-Široki jednostavno preuzima zbirku objekata i prikazuje pojedinačno svojstvo svakog objekta. Prema zadanim postavkama, tražit će naziv entiteta; ako vaši objekti ne sadrže naziv svojstva, koristi se prvo svojstvo objekta nakon što su svojstva poredana abecednim redom.
Get-Service | Format-Wide
Get-Service | Format-Wide -Property DisplayName -Column 6
Ovaj tablični prikaz stvarno odgovara ovakvoj vrsti informacija vrlo dobro, ali neka se pretvaramo da ga želimo pregledati u obliku popisa. Sve što zaista moramo učiniti je cijev Format-List.
Get-Process | Format-List
Get-Process | Format-List –Property *
Get-Process | Format-List –Property name,id
Format-tablica, s druge strane, uzima podatke i pretvara ih u tablicu. Budući da su naši podaci iz Get-Procesa već u obliku tablice, možemo ga koristiti za jednostavno odabiranje željenih svojstava prikazanih u tablici. Koristio sam parametar AutoSize kako bi svi podaci odgovarali na jedan zaslon.
Get-Process | Format-Table name,id –AutoSize
Filtriranje i uspoređivanje
Jedna od najboljih stvari o korištenju cjevovoda na temelju objekta jest da možete filtrirati objekte iz cjevovoda u bilo kojoj fazi pomoću cmdleta Where-Object.
Get-Service | Where-Object {$_.Status -eq “Running”}
- eq (jednako)
- neq (nije jednako)
- gt (veće od)
- ge (veća ili jednaka)
- lt (manje od)
- le (manje od ili jednako)
- kao što je (podudaranje s podudaranjem žetona)
Potpuni popis i više informacija možete pogledati u konceptualnoj datoteci help_data, no potrebno je neko vrijeme navikavanje na sintaksu Where-Obeject. To je sve za ovo vrijeme!