PowerShell – kako i zašto?

  1. Uvod

Powershell
Kao i na Linuxu: Ctrl+r i unos za prethodne komande, ovdje na ‘Windows Terminal’ aplikaciji.

PowerShell je razvijen od strane Microsofta, verzija 1.0 datira još od 2006. godine. Sada, kao ubrzo punoljetan program, PowerShell je već dugo vremena etabliran među Windows sistem administratorima. Za windows administratore, razna automatizacija procesa i mogućnosti udaljene kontrole pomoću Windows remote managementa (WinRM), o kojemu je već pisano u našem blogu, praktički su nebrojene. Ako poznajete linux ‘terminal’ i command line, PowerShell je suštinski vrlo sličan.

Time je u tom segmentu odavno premošten jaz između unix-like poklonika ‘terminala’ operativnih sustava i korisnika Windowsa, bez obzira radi li se o Windows Desktop okruženju ili o serverskim verzijama operativnog sustava na kojima je jednako podržan. Unošenje komandi putem tipkovnice umjesto kretanja kroz gomilu prozora, klikanja mišem i skrolanja kroz raznorazne liste, sa sobom naravno povlači poznavanje operativnog sustava, kako bi ga održavali i njime mogli upravljati putem PowerShell konzole.

Ipak, to je samo mali segment i ne znači da je PowerShell rezerviran samo za okorjele svemoguće sys admine, već se radi o alatu za koji postoji sustavna interaktivna Help platforma i pomoću kojega je također moguće obavljati svakakve, uobičajene, neuobičajene i repetitivne taskove različite namjene.

Sasvim sigurno bi PowerShell trebao biti interesantan i Linux entuzijastima koje zanima implementacija shell sučelja na Windowsima te onima koji promiču tipkovnicu kao pojam brže interakcije između čovjeka i uređaja.

  • 2. Komande

U PowerShell-u je moguće unositi liniju naredbi, među linuksašima poznate kao ‘onelinere’ pa i pomoću paste-a iz clipboarda (desnim klikom), ali i kreirati skripte čija je standardna ekstenzija ‘.ps1’, koje je najbolje kreirati u PowerShell ISE programu.

Naredbeni dio je CmdLet objekt za koje pojedinačno pojašnjenje funkcija i primjere u PowerShell-u uvijek možemo pozvati unosom riječi help prije samog CmdLet-a, na primjer:

Code: help Get-ChildItem

Potrebno je napomenuti kako PowerShell ima podosta aliasa kojima se pisanje CmdLet-a može skratiti – neki su proizašli iz Unix-like operativnih sustava, primjer izlista sadržaja trenutne mape u kojoj se nalazimo:

Get-ChildItem = gci = ls

Primjer naredbe u PowerShell-u:

gci . -filter *.txt -recurse | select-string "ponedjeljak"

Ovdje imamo primjer popularnog ‘pajpanja’, drugim riječima prosljeđivanja rezultata jedne naredbe u drugu, ovom konkretno pretražujemo sadržaj datoteka s ekstenzijom .txt na riječ ‘ponedjeljak’.

Kao i na Linux terminalu, PowerShell ima opciju pretrage prethodno unesenih naredbi pomoću strelica gore – dole i ‘Ctrl+r’ s unosom nekoliko slova i ponavljanjem kombinacije ‘Ctrl-r’.

  • 3. Skripte

Sa skriptama će se korisnici često susretati na raznim forumima i dediciranim sajtovima. PowerShell skripte je naravno preporučljivo preuzimati isključivo s provjerenih stranica kakvih je do danas poveći broj – od onih Microsoftovih pa na dalje – do raznih foruma kakve god je moguće pronaći na internetu.

Slika 2. Mega kolekcija PowerShell skripti, Link:
GitHub – fleschutz/PowerShell: Mega collection of 500+ useful cross-platform PowerShell scripts.

GitHub - fleschutz/PowerShell: Mega collection of 500+ useful cross-platform PowerShell scripts.
GitHub – fleschutz/PowerShell: Mega collection of 500+ useful cross-platform PowerShell scripts.
  • 4. PowerShell ISE

PowerShell ima i svoju interaktivnu inačicu naziva PowerShell ISE. Ista u gornjem dijelu sadrži standardni meni, polje za unos skripti, PowerShell konzolu ispod toga, sustav pomoći i interaktivnu i opširnu tražilicu s CmdLet modulima s desne strane.

PowerShell skripte je nakon unosa moguće startati putem već uvriježene funkcijske tipke F5, čime dobivamo rezultat i prikaz eventualnih grešaka u donjem prozoru gdje je prikazana konzola.

PowerShell IS
PowerShell IS

Sam sustav pomoći prilikom unosa komandi, kojega je moguće redovito ažurirati kroz sam PowerShell, vrlo je iscrpan i na raspolaganju prilikom korištenja PowerShella ISE. Posebno se to odnosi na izbor modula širokog raspona, od jednostavnog kopiranja datoteka i zipanja, do sasvim kompleksnih radnji i taskova.

Kroz PowerShell možemo kreirati više mapa odjednom i kopirati datoteke iz zadane u drugu mapu:

Primjer skripte:

  1. Set-Location [PATH1]
  2. Get-ChildItem -Recurse -Filter *.[EXT] | Copy-Item -Destination [PATH2]
Kreiranje mapa i kopiranje, start s F5 tipkom.
Kreiranje mapa i kopiranje, start s F5 tipkom.

Nakon kopiranja, učitavamo modul Compress-Archive koji nam nudi parametre za nivo i path do zip arhive:

Primjer PowerShell ZIP komande:

Compress-Archive -DestinationPath [PATH3]\[IME].zip -Path [PATH2]\*.* -CompressionLevel Fastest -Confirm

Dodavanje i komprimiranje datoteka
Dodavanje i komprimiranje datoteka

PowerShell-u možete saznati na sljedećim stranicama:

PowerShell Dokumentacija- PowerShell | Microsoft Learn

Windows PowershellOwner’s manual

Kolekcija free PowerShell skripti

Andy Shneider’s Blog

Mike Pfeiffer’s Blog

Možemo zaključiti kako je PowerShell do danas nezamjenjiv alat koji svakako sve više pronalazi svrhu i u svakodnevnim taskovima na Windows operativnom sustavu. Svakako je time PowerShell kao alat preporuka korisnicima Windowsa i na internetu postoji veliki community s mnogobrojnim primjerima i edukacijskim programom za njegovo korištenje, svima koji žele dublje proniknuti u materiju. O PowerShell-u ćemo i ubuduće i više pisati na našem blogu te Vas pozivamo da naš blog redovito pratite.

Povezani članci

Odgovori