Windows PowerShell je izjemno zmogljivo orodje za avtomatizacijo in upravljanje operacijskega sistema Windows. Za razliko od klasičnega ukaznega poziva (CMD), ki deluje z navadnim besedilom, PowerShell temelji na ogrodju .NET in prenaša objekte. V tem članku si bomo ogledali ključne ukaze (cmdlete), ki vam bodo prihranili čas pri svakodnevnem upravljanju sistema in omrežja.
Osnovna logika PowerShell ukazov
Ukazi v PowerShellu sledijo standardizirani strukturi Glagol-Samostalnik (Verb-Noun), kar olajša učenje in zapomnjenje ukazov.
| Cmdlet | Funkcija | Opis uporabe |
|---|---|---|
| Get-Process | Upravljanje procesov | Prikaže seznam vseh trenutno zagnanih procesov v sistemu. |
| Get-Service | Upravljanje storitev | Prikaže stanje sistemskih storitev (zagnane/zaustavljene). |
| Test-NetConnection | Diagnostika omrežja | Preveri omrežno povezavo in odprtost specifičnih vrat (portov). |
Upravljanje datotek in sistemskih informacij
Z uporabo cevovodov (pipe operator `|`) lahko izhod enega ukaza neposredno preusmerimo v vhod drugega ter tako filtriramo podatke.
- Get-ChildItem: Prikaže datoteke in mape (enakovredno ukazu `dir` ali `ls`).
- Get-Content: Prebere in izpiše vsebino datoteke v terminal.
- Select-Object: Izbere le določene lastnosti objekta (npr. ime in porabo pomnilnika).
- Where-Object: Filtrira rezultate glede na postavljene pogoje.
Primeri uporabe PowerShell skript v praksi
Spodnji primer prikazuje praktično uporabo PowerShell ukazov za iskanje potratnih procesov ter preverjanje omrežnih vrat.
# 1. Pridobitev 5 procesov, ki porabijo največ delovnega pomnilnika (RAM) Get-Process | Sort-Object WorkingSet64 -Descending | Select-Object -First 5 Name, WorkingSet64 # 2. Preverjanje, ali je strežnik na vratih 80 (HTTP) dosegljiv Test-NetConnection -ComputerName "example.com" -Port 80 # 3. Zaustavitev specifične storitve (zahteva skrbniške pravice) Stop-Service -Name "Spooler"
Moč cevovoda v PowerShellu
Glavna prednost PowerShell-a pred drugimi lupinami je v tem, da med ukazi ne potujejo le nizi besedila, ampak celotni objekti z vsemi svojimi lastnostmi in metodami. To omogoča izjemno natančno filtriranje ter enostavno izvoženje rezultatov v formate, kot sta CSV ali JSON (npr. z uporabo Export-Csv ali ConvertTo-Json).