U sustavu Windows 11, PowerShell je sučelje naredbenog retka, odnosno Command Prompta ili po novom CLI, kojeg je razvio Microsoft i koji se koristi za izvršavanje naredbi i pokretanje skripti.
Na neki način, sličan je naredbenom retku, ali ovaj CLI nudi više alata i fleksibilnosti, a dostupan je i za neke druge operativne sustave, uključujući Linux i macOS.
Iako PowerShell sadrži bezbrojne naredbe za izvođenje radnji i manipuliranje objektima, koji se nazivaju “cmdleti”, postoje neke koje su stvarno važne i koje biste trebali znati, bez obzira na vašu tehničku razinu, jer ćete ih upisivati mnogo puta, posebno kada stvarate PowerShell skripte.
U nastavku ćemo vidjeti neke od osnovnih PowerShell naredbi koje bi trebao znati svaki korisnik Windowsa 11.
Get-help
Cmdlet “Get-Help” pruža pomoć i informacije o različitim aspektima okruženja PowerShell. Na primjer, dohvaća pojedinosti za određenu naredbu, funkciju i skriptu.
Get-Help CMDLET-NAME
- Primjer 1: Get-Help Get-Process – Dobiva osnovnu pomoć za navedeni cmdlet, ali također možete navesti funkciju ili skriptu.
- Primjer 2: Get-Help Get-Process -Full – Dobiva više pojedinosti za cmdlet Get-Process.
- Primjer 3: Get-Help Get-Process – Naziv parametra – dohvaća pojedinosti o opciji “Name” za cmdlet “Get-Process”.
- Primjer 4: Get-Help Get-Process -Online – Otvara Microsoftove stranice podrške s informacijama o određenom cmdlet-u, funkciji ili skripti.
Get-Command
Cmdlet “Get-Command” omogućuje vam otkrivanje i istraživanje dostupnih naredbi unutar okruženja PowerShell.
Get-Command
- Primjer 1: Get-Command Get-* – Ispisuje sve naredbe koje počinju s “Get-“.
- Primjer 2: Get-Command -CommandType Cmdlet – ispisuje sve dostupne cmdlete. Možete promijeniti cmdlet za “Alias” ili “Function”.
- Primjer 3:
- Get-Command-Name”Copy-Item”-Module Microsoft.PowerShell.Management:
- Pronalazi cmdlet “Copy-Item” unutar izvora modula:
“Microsoft.PowerShell.Management”
Ključni parametri:
-Naziv: Određuje naziv naredbe koju tražite, a možete čak koristiti i zamjenske znakove poput “*”.
-CommandType: opcija filtrira rezultate na temelju vrste naredbe (na primjer, cmdlet, funkcija i alias).
-Modul: Ograničava pretraživanje na određeni modul.
Get-ChildItem (dir, ls, gci)
Naredba “Get-ChildItem” ekvivalentna je “dir” u PowerShell-u i omogućuje vam popis i upravljanje stavkama unutar različitih lokacija, kao što su direktoriji sustava datoteka, košnice registra ili spremišta certifikata.
Get-ChildItem
- Primjer 1: Get-ChildItem -Path C:\ – Ispisuje sve datoteke i direktorije u korijenu glavnog instalacijskog pogona.
- Primjer 2: Get-ChildItem -Path C:\Windows\ -Filter *.exe – Dohvaća popis svih izvršnih datoteka unutar direktorija “Windows”.
- Primjer 3: Get-ChildItem -Path C:\Users\ -Recurse – Dohvaća popis svih datoteka unutar direktorija i poddirektorija “Korisnici”.
- Primjer 4: Get-ChildItem -Path C:\ -Include *.txt,*.docx– Dohvaća popis svih datoteka s nastavcima “.txt” i “.docx” s navedene lokacije.
Ključni parametri:
-Path: Određuje mjesto gdje se stavke mogu dohvatiti.
– Filter: Ova opcija filtrira stavke na temelju njihovih imena (na primjer, “*.txt” za sve datoteke s nastavkom “.txt”).
– Include: Određuje uzorke za uključivanje (na primjer, “*.txt” i “*.docx”).
-Exclude: Određuje uzorke za izuzimanje (na primjer, “*.txt”).
-Recurse: dohvaća stavke iz svih poddirektorija unutar navedene lokacije.
-Depth: Ograničava dubinu rekurzije.
-Force: Uključuje skrivene i sistemske stavke.
Get-Process (gps, ps)
Naredba “Get-Process” dohvaća informacije o procesima koji se izvode na računalu. Slično Upravitelju zadataka, naredba može dohvatiti naziv procesa, ID (PID), ručke, korištenje memorije i CPU-a, vrijeme početka i korisnički račun.
Get-Process
Primjer 1: Get-Process -Name notepad – dohvaća proces za aplikaciju Notepad.
Primjer 2: Get-Process -Id 13616 – Dohvaća proces s identifikacijskim brojem “13616”.
Copy-Item (cp, copy, cpi)
Naredba “Copy-Item” omogućuje kopiranje datoteka i direktorija s jednog mjesta na drugo s različitim opcijama.
Kopiraj-Stavka -Putanja IZVOR -Odredište ODREDIŠTE
- Primjer 1: Copy-Item -Path “C:\Users\UserDemo\Documents\myFile.txt” -Destination “D:\Backup” – Kopira “myFile.txt” kao jednu datoteku u mapu “Backup”.
- Primjer 2: Copy-Item -Path “C:\Users\UserDemo\Documents” -Destination “D:\Backup\Files” -Recurse – Kopira direktorij i njegov sadržaj u direktorij “Files”.
- Primjer 3: Copy-Item -Path “C:\Logs” -Destination “D:\Backups\Files” -Recurse -Filter “*.log” – Kopira samo datoteke s određenim nastavkom u direktorij “Datoteke”.
Remove-Item (rm, del, erase, ri, rmdir)
U PowerShell-u, naredba “Remove-Item” dizajnirana je za brisanje datoteka, direktorija i drugih stavki unutar vašeg sustava od drugih pružatelja usluga, kao što su registar, pohrana certifikata i varijable okruženja. Ovo je ekvivalent naredbe “del” u naredbenom retku.
Remove-Item -Path SOURCE-FILE
- Primjer 1: Remove-Item -Path “C:\Users\UserDemo\Documents\myFile.txt” – Briše samo “myFile.txt” iz mape “Documents”.
- Primjer 2: Remove-Item -Path “C:\MyFiles” -Recurse – Briše direktorij i sav njegov sadržaj.
- Primjer 3: Remove-Item -Path “C:\Users\UserDemo\Documents” -Recurse -Include “*.docx” – Uklanja datoteke s nastavkom “.docx” iz mape “Documents”.
New-Item (ni)
Cmdlet “New-Item” pomaže vam da stvorite nove stavke unutar vašeg sustava, kao što su datoteke, direktoriji, ključevi registra i dr.
New-Item -Path PATH\FOLDER-NAME -ItemType Directory
- Primjer 1: New-Item -Path “C:\Random\FileBackup” -ItemType Directory – Stvara novi direktorij (ili mapu) kao što je naznačeno na putu do navedene lokacije.
- Primjer 2: New-Item -Path “C:\Random\myFile.txt” -ItemType File -Value “Ovaj tekst bit će ispisan unutar tekstualne datoteke.” – Stvara tekstualnu datoteku na navedenoj lokaciji i dodaje sadržaj “Ovaj tekst bit će ispisan unutar tekstualne datoteke” u datoteku.
- Primjer 3: New-Item -Path “C:\Random\myFile.txt” -ItemType File – Stvara praznu tekstualnu datoteku na navedenoj lokaciji.
- Primjer 4: New-Item -Path “HKCU:\Software\MyApp” -ItemType RegistryKey – Stvara novi unos u registru na navedenoj lokaciji.
Get-Service (gsv)
Cmdlet “Get-Service” omogućuje vam dohvaćanje pojedinosti o uslugama koje se izvode na vašem računalu. Neke od informacija uključuju imena usluga i prikaza, status, vrstu pokretanja i ovisnosti.
Get-Service
- Primjer 1: Get-Service -Name “Spooler” – Dohvaća uslugu “Spooler”.
- Primjer 2: Get-Service -DisplayName “Windows Audio” – Dohvaća uslugu “Windows Audio”.
Clear-Host (cls, clear)
Cmdlet “Clear-Host” briše sadržaj trenutnog prozora konzole, slično naredbi “cls” iz naredbenog retka. Obično biste koristili ovu naredbu za čišćenje nereda i poboljšanje čitljivosti konzole, posebno nakon izvršavanja više naredbi.
Set-Location (cd, chdir)
Cmdlet “Set-Location” omogućuje promjenu trenutnog radnog direktorija, slično naredbi “cd” iz naredbenog retka.
Set-Lokacija PATH
- Primjer 1: Set-Location C:\ – vodi do korijena pogona “C”.
- Primjer 2: Set-Location .. – Pomiče jednu razinu prema gore u hijerarhiji imenika (ekvivalentno “cd ..”).
Get-History (ghy, h)
Naredba “Get-History” dohvaća popis naredbi koje ste prethodno unijeli u trenutnoj sesiji. Drugim riječima, ovaj cmdlet omogućuje vam jednostavno ponovno izvršavanje prethodnih naredbi bez potrebe za ponovnim upisom.
Get-History
- Primjer 1: Get-History -Count 10 – Prikazuje zadnjih 10 unesenih naredbi.
- Primjer 2: Get-History -Id 123 – Prikazuje naredbu s ID-om 123.
Također možete koristiti opciju “$MaximumHistoryCount” za kontrolu maksimalnog broja naredbi koje PowerShell pohranjuje u svojoj povijesti naredbi. Počevši od PowerShell 3.0, zadana vrijednost je 4096, što znači da će naredba zapamtiti zadnjih 4096 naredbi koje ste upisali. No, možete pokrenuti $MaximumHistoryCount = 32767 kako biste mogućnost postavili na najveći broj.
Get-Content (gc, cat, type)
Naredba “Get-Content” može čitati i ispisivati sadržaj datoteka ili drugih izvora podataka. Ovaj cmdlet ne samo da je koristan za čitanje tekstualne datoteke u naredbenoj konzoli, već je isto tako koristan za čitanje sadržaja datoteke dnevnika.
Get-Content -Path PATH-AND-FILENAME
- Primjer 1: Get-Content -Path “C:\Folder\myFile.txt” – Čita sadržaj “myFile.txt” i prikazuje svaki redak u zasebnom retku u konzoli.
- Primjer 2: $fileContent = Get-Content -Path “C:\Folder\myFile.txt” – Čita sadržaj “myFile.txt” i pohranjuje ga u varijablu $fileContent.
- Primjer 3: Get-Content -Path “C:\Folder\myFile.txt” -Raw – Čita cijeli sadržaj “myFile.txt” kao jedan niz.
- Primjer 4: Get-Content -Path “C:\Folder\myFile.txt” -TotalCount 5 – Čita prvih pet redaka “myFile.txt.”
- Primjer 5: Get-Content -Path “C:\Folder\myFile.txt” -Tail 3 – Čita posljednja tri retka “myFile.txt.”
Test-Connection (ping, tnc)
Cmdlet “Test-Connection” omogućuje vam provjeru mrežne povezanosti s udaljenim računalom ili poslužiteljem, što je slično naredbi “ping”.
Ova naredba može poslati ICMP echo zahtjeve (pingove) ciljnom računalu kako bi se utvrdilo je li ciljno računalo dostupno na mreži i izmjerilo povratno vrijeme (RTT) za svako odstupanje.
Test-Connection -ComputerName DESTINATION-NAME-OR-IP
- Primjer 1: Test-Connection -ComputerName bing.com – Šalje četiri pinga na odredište i prikazuje detaljne rezultate.
- Primjer 2: Test-Connection -ComputerName 10.1.4.158 -Count 3 – Šalje tri pinga na IP adresu 10.1.4.158.
- Primjer 3: Test-Connection -ComputerName bing.com -Quiet – Vraća True ili False ovisno o tome je li veza s bing.com bila uspješna.
Ivan Hečimović