PowerShell automatizacija

PowerShell pretvara ponavljajuće zadatke u skripte koje odrade posao umjesto tebe. Vodič kroz osnove, sigurno pokretanje skripti te praktične primjere za sigurnosne kopije i nadzor diska.

PowerShell je moćan alat za automatizaciju u Windowsu. Sve što ručno radiš klikanjem — kopiranje datoteka, provjere, čišćenje — možeš zapisati u skriptu koja to odradi jednim pokretanjem ili po rasporedu. U ovom vodiču proći ćemo osnove i nekoliko korisnih, praktičnih primjera.

Osnovno: PowerShell vs naredbeni redak

PowerShell radi s objektima, a ne samo tekstom, pa je puno moćniji od klasičnog CMD-a. Naredbe se zovu „cmdleti" i imaju oblik Glagol-Imenica (npr. Get-Process, Copy-Item), što ih čini lako pamtljivima.

Korak 1: Dopusti pokretanje skripti (sigurno)

Windows prema zadanom blokira pokretanje skripti radi sigurnosti. Za vlastite skripte postavi razumnu politiku — otvori PowerShell kao administrator:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

RemoteSigned dopušta tvoje lokalne skripte, ali traži digitalni potpis za one preuzete s interneta — dobar kompromis sigurnosti i praktičnosti.

Korak 2: Prva skripta

Skripte su obične tekstualne datoteke s nastavkom .ps1. Otvori Notepad, upiši:

Write-Host "Pozdrav! Danas je" (Get-Date -Format 'dd.MM.yyyy')

Spremi kao test.ps1 i pokreni u PowerShellu:

.\test.ps1

Primjer 1: Automatska sigurnosna kopija s datumom

Skripta koja kopira mapu Dokumenti u mapu s današnjim datumom:

$datum = Get-Date -Format 'yyyy-MM-dd'
$izvor = "$env:USERPROFILE\Documents"
$odrediste = "D:\Backup\$datum"
Copy-Item $izvor $odrediste -Recurse -Force
Write-Host "Sigurnosna kopija spremljena u $odrediste"

Primjer 2: Nadzor slobodnog prostora na disku

$diskovi = Get-CimInstance Win32_LogicalDisk -Filter "DriveType=3"
foreach ($d in $diskovi) {
    $slobodnoGB = [math]::Round($d.FreeSpace / 1GB, 1)
    Write-Host "$($d.DeviceID) slobodno: $slobodnoGB GB"
}

Primjer 3: Čišćenje privremenih datoteka

Remove-Item "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Write-Host "Privremene datoteke očišćene."

Korak 3: Korisne osnovne naredbe za učenje

  • Get-Help Copy-Item -Examples — prikaži primjere za bilo koji cmdlet.
  • Get-Process | Sort-Object CPU -Descending — procesi po opterećenju procesora.
  • Get-Service | Where-Object Status -eq 'Running' — pokrenute usluge.

Cjevovod (|) prosljeđuje rezultat jedne naredbe u drugu — to je srce PowerShella.

Korak 4: Pokretanje skripte po rasporedu

Skriptu možeš zakazati da se pokreće automatski (npr. dnevna sigurnosna kopija) preko Task Schedulera. Detalje pogledaj u vodiču o zakazanim zadacima.

Savjeti za sigurnost

  • Ne pokreći tuđe skripte koje ne razumiješ — mogu napraviti štetu.
  • Testiraj skripte na bezopasnim podacima prije prave upotrebe.
  • Za brisanje/izmjene prvo dodaj -WhatIf (npr. Remove-Item ... -WhatIf) da vidiš što bi skripta napravila bez stvarne promjene.

Sažetak

PowerShell pretvara dosadne, ponavljajuće zadatke u pouzdane skripte. Počni s malim primjerima poput sigurnosne kopije i nadzora diska, nauči logiku cjevovoda, i vrlo brzo ćeš automatizirati posao koji si prije radio ručno.


← Svi vodiči