5 naredbi za početak rada s PowerShellom
PowerShell brzo postaje preferirani skriptni jezik i CLI za Power Users kao i IT profesionalce. Dobro je naučiti nekoliko naredbi da biste započeli s radom, tako da danas imamo 5 korisnih cmdleta koje možete naučiti.
Get-Command
Get-Command je jedan od najkorisnijih cmdleta u cijeloj PowerShell, jer će vam pomoći da se uhvatite u koštac s PowerShellom tako što ćete tražiti određene cmdlet komande. Korištenje Get-Command samo po sebi nije jako korisno jer će samo ispljunuti svaku naredbu koju PowerShell ima.
No iz toga možemo vidjeti da objekt koji PowerShell izlazi ima svojstvo Name i ModuleName. Pomoću tih informacija možemo fino zrnati naše pretraživanje, tražeći cmdletove koji sadrže određene pojmove. Na primjer, ako želim pronaći sve cmdletove koji sadrže riječ "IP", mogu to učiniti:
Get-Command-Ime * IP *
Kao što možete vidjeti, još uvijek imamo dosta rezultata, a naša sljedeća opcija je pretraživanje unutar određenog modula. U našem slučaju odabrat ću NetTCPIP modul.
Get-Command -Module NetTCPIP -ime * IP *
Dobiti pomoć
Nakon što nađete cmdlet koji tražite pomoću programa Get-Command, htjet ćete znati sintaksu i način na koji možete koristiti tu određenu cmdlet. Ovdje dolazi Get-Help, ako ste ikada koristili naredbeni redak u sustavu Windows vjerojatno ste učinili nešto slično ovome:
ipconfig /?
Pa to ne radi u PowerShell-u, to je zato što se u PowerShell-u koristi prostor za odvajanje naredbe od njezinih parametara. Umjesto toga koristimo Get-Help i prosljeđujemo naziv cmdleta Get-Help kao parametar.
Get-Help Get-Process
Get-članica
Get-Member omogućuje nam da dobijemo informacije o objektima koje cmdletovi vraćaju. Ulov s get-memberom je u tome što se oslanja na značajku PowerShell-a, da bi to pokazao, koristit ćemo cmdlet Get-Process..
Kao što možete vidjeti, izlaz PowerShell-a pokazuje nam neka svojstva koja možete vidjeti na vrhu svakog stupca. Prvi problem je u tome što, premda su to svojstva koja možda tražite većinu vremena, još ih je više. Drugi problem je što ne prikazuje nikakve metode koje bismo mogli pozvati na objekt. Da biste vidjeli metode i svojstva, možemo isporučiti izlaz na Get-Member, kao što je:
Get-Process | Get-članica
Iako vam to sada ne znači ništa, prije ili kasnije ćete morati koristiti Get-Member i što prije naučite koristiti ga bolje. Kao primjer, pomoću informacija iz izlaza možemo učiniti nešto poput:
Start-Process notepad.exe
$ NotepadProc = Get-Process -Name notepad
$ NotepadProc.WaitForExit ()
Start-Process calc.exe
Ta skripta pokrenut će notepad, zatim dodjeljuje izlaz "Get-Process -Name notepad" na $ NotepadProc varijablu, a zatim pozivamo WaitForExit metodu na $ NotepadProc koja uzrokuje da se skripta pauzira dok ne zatvorite notepad, nakon što zatvorite bilježnicu tada će kalkulator pokrenuti.
$ _ (Trenutni objekt cjevovoda)
Iako to nije točno cmdlet, to je jedna od najčešće korištenih posebnih varijabli u PowerShell-u. Službeni naziv za $ _ je "trenutni objekt cjevovoda". Koristi se u blokovima skripti, filterima, procesnoj klauzuli funkcija, gdje-objekt, foreach-objekt i preklopnici. Međutim, lakše je objasniti s primjerom koji nas dovodi do sljedećeg i konačnog cmdleta, Where-Object.
Gdje-objekt
Gdje-objekt radi upravo ono što zvuči, odabire objekt ovisno o tome ispunjava li određeni kriterij. To će objediniti $ _ i svojstva koja možemo vidjeti pomoću Get-Member. Da bismo to demonstrirali, ispisat ćemo izlaz Get-Process-a u cmdlet.
Get-Process | Gdje-objekt $ _. Naziv -eq "iexplore"
Dakle, što se ovdje događa? Pa prva stvar koju radimo je dobivanje popisa procesa na našem računalu i prosljeđivanje izlaza (koristeći znak |) našem cmdletu Where-Object, koji uzima blok skripte kao parametar. Blok skripte (definiran vitičastim zagradama) upućuje cmdlete Where-Object samo da odaberu objekte gdje je njihov parametar imena jednak “iexplore”, i tako dobivamo samo popis instanci IE koje se izvode. To je sve što je potrebno, zabavite se!