Kada je riječ o pokretanju naredbi u sustavu Windows, PowerShell je postao pomalo as u rupi. Godinama su entuzijasti bili ograničeni na ograničenja naredbenog retka Windows, ali 2006., PowerShell se pojavio kao snažna alternativa.
Što je PowerShell?
PowerShell je interaktivan Sučelje naredbenog retka (CLI) i automatizacijski uređaj koji je Microsoft dizajnirao za pomoć u dizajniranju konfiguracija sustava i automatizaciji administrativnih zadataka. Ovaj alat ima vlastitu naredbenu liniju s jedinstvenim programskim jezikom sličnim Perlu. U početku je PowerShell dizajniran za upravljanje objektima na računalima korisnika.
Danas PowerShell korisnicima nudi široko okruženje u kojem mogu izvršavati i automatizirati zadatke upravljanja sustavom. Korisnik može pristupiti resursima iz Active Directory-a Exchange Exchangeu putem jednog programa. U osnovi, PowerShell korisniku omogućuje pristup:
- Komandni redak
- Naredbe PowerShell
- .NET Framework API
- Instrumenti za upravljanje Windowsom
- Windows komponentni model objekta
Kako je PowerShell postao aplikacija otvorenog koda, korisnici koji imaju Linux i Unix sada mogu pristupiti ovoj svestranoj platformi. PowerShell se uglavnom koristi za pomoć korisnicima u automatizaciji administrativnih poslova. Umjesto izvršavanja napornih i ponavljajućih zadataka, korisnik može jednostavno kreirati skripte i izdavati naredbe, a PowerShell će ih automatski dovršiti. Korisnik može prilagoditi stotine naredbi, nazvanih cmdlets.
Naredbe PowerShell
Evo 25 osnovnih PowerShell naredbi:
Set-Lokacija | cd, chdir, sl | Postavlja trenutnu radnu lokaciju na određeno mjesto. |
Get-Sadržaj | mačka, gc, tip | Postavlja sadržaj stavke na navedeno mjesto. |
Add-Sadržaj | AC | Dodaje sadržaj navedenim stavkama, poput dodavanja riječi u datoteku. |
Set-Sadržaj | SC | Napisuje ili zamjenjuje sadržaj u stavci novim sadržajem. |
Copy-točka | copy, cp, cpi | Kopira predmet s jedne lokacije na drugu. |
Uklonite-točka | del, izbrisati, rd, ri, rm, rmdir | Brisanje navedenih stavki. |
Premjestiti-točka | mi, pokret, mv | Premješta stavku s jedne lokacije na drugu. |
Set-točka | si | Mijenja vrijednost stavke u vrijednost navedenu u naredbi. |
Nova stvar | ni | Stvara novu stavku. |
Start-Posao | sajb | Pokreće Windows PowerShell pozadinski posao. |
Usporedite-objekt | usporediti, dif | Uspoređuje dva skupa objekata. |
Grupa-objekt | skupina | Grupira objekte koji sadrže istu vrijednost za određena svojstva. |
Pozovi-WebRequest | curl, iwr, wget | Dobiva sadržaj s web stranice na Internetu. |
Mjera-objekt | mjera | Izračunava brojčana svojstva objekata te znakove, riječi i retke u nizovitim objektima, poput datoteka … |
Rješavanje-Put | rvpa | Rješava zamjenske znakove u putu i prikazuje sadržaj staze. |
Nastavi-Posao | rujb | Ponovo zaustavlja obustavljeni posao |
Set-Variable | postavi, sv | Postavlja vrijednost varijable. Stvara varijablu ako jedna s traženim imenom ne postoji. |
Show-Command | shcm | Stvara naredbe Windows PowerShell u grafičkom prozoru naredbi. |
Sortiraj-objekt | sortirati | Poredava objekte po vrijednostima svojstava. |
Start-usluga | sasv | Pokreće jednu ili više zaustavljenih usluga. |
Pokretanje procesa | sokovi, započnite | Pokreće jedan ili više procesa na lokalnom računalu. |
Obustaviti-Posao | sujb | Privremeno zaustavlja poslove tijeka rada. |
Pričekajte-Posao | wjb | Potiskuje naredbeni redak dok jedan ili sve pozadinske zadatke sustava Windows PowerShell koji se izvode u sesiji ne postanu… |
Gdje-objekt | ?, gdje | Odabir objekata iz zbirke na temelju njihovih vrijednosti svojstava. |
Pisanje-izlaz | odjek, pisati | Šalje zadane objekte sljedećoj naredbi u cjevovodu. Ako je naredba zadnja naredba u cjevovodu,… |
Evo naše PDF verzije PowerShell varalice. Kliknite na sliku ispod kako biste otvorili PDF na zasebnoj kartici preglednika koju možete spremiti i koristiti kao brzu referencu.
PowerShell varalica (PDF)
Kako koristiti PowerShell
PowerShell je idealan za korporativne administratore koji izvode složene operacije upravljanja preko velikih korporativnih mreža. Umjesto da ručno skupite podatke o stotinama različitih poslužitelja i usluga (što bi trajalo dugo), na PowerShellu možete jednostavno pokrenuti skriptu za automatsko vraćanje podataka.
Općenito govoreći, PowerShell je najkorisniji korisnicima koji imaju prethodno iskustvo s naredbenim linijama. Da biste koristili PowerShell, možete pokrenuti razne cmdlete, skripte, izvršne datoteke i .NET klase. Za potrebe ovog članka, fokusiraćemo se uglavnom na cmdlete i skripte kako bismo vam pomogli da se suočite sa osnovama.
Udemy ima nekoliko najbolje ocijenjenih tečajeva na PowerShell-u koji bi vam mogli biti korisni.
PowerShell vs naredbeni redak
Za mnoge korisnike PowerShell je bolja alternativa naredbenom retku. Razlog je taj što jednostavno ima više konjskih snaga. Jedna od najvećih razlika je u tome što PowerShell koristi cmdlete umjesto naredbi. Cmdlets mjesto upravljanja registra i Instrumentacije za upravljanje Windows smještaju unutar dosega korisnika. Suprotno tome, naredbeni redak ograničen je na mnogo jednostavnije naredbe.
Postoji nešto križanja u sintaksi između dviju platformi jer će PowerShell prihvatiti neke naredbe naredbenog retka poput ipconfigtocd. Međutim, to su poznatiji kao pseudonimi nego cmdleti. Druga ključna razlika je što je PowerShell usredotočen na objekte. Svaki podatak koji izlazi iz cmdleta je objekt, a ne tekst. Na ovaj način se korisniku olakšava kretanje kroz složene podatke. Uključivanje .NET okvira također omogućuje PowerShell skriptama da koriste .NET sučelja. Ukratko, PowerShell je naredbeni redak na steroidima.
Učitavanje PowerShell-a
Prije nego što istražimo osnove upotrebe PowerShell-a, prvo morate pristupiti glavnom sučelju. Ako ste Windows 10 korisnik, tada ćete već imati pristup PowerShellu 5. Korisnici Windows 8-8.1 imaju pristup PowerShellu 4, ali ako ste u sustavu Windows 7, morat ćete ga instalirati unutar .NET-a. okvir. U svim operativnim sustavima PowerShell nudi dva različita sučelja.
Naprednija je Integrirano okruženje za skripte, koje djeluje kao sveobuhvatni GUI za iskusne korisnike. Osnovna alternativa je PowerShell konzola, koja korisniku pruža naredbenu liniju za unos svojih naredbi. Početnicima se savjetuje da se pridržavaju posljednjeg dok ne nauče osnove PowerShell-a.
Da biste pokrenuli PowerShell u sustavu Windows 10, morate biti administrator. Prijavite se kao administrator, kliknite Početak, i prođite kroz svoje aplikacije dok ne pronađete lokaciju Windows PowerShell. Kliknite desnom tipkom miša i odaberite Pokreni kao administrator. U sustavu Windows 8.1 jednostavno potražite PowerShell u svom Sustav mapu. Slično tome, u sustavu Windows 7 zadan je direktorij za PowerShell Pribor nakon što ste instalirali program.
Kako pokrenuti Cmdlets
Ukratko, cmdlet je naredba s jednom funkcijom. Unesite cmdlets u naredbeni redak baš kao što biste to učinili s tradicionalnom naredbom ili uslužnim programom. Cmdlets su glavni način za interakciju s CLI-om. U PowerShell-u, većina cmdletova je napisana na C # i sastoji se od uputa dizajniranih za izvođenje funkcije koja vraća .NET objekt.
U PowerShellu se može koristiti preko 200 cmdleta. Naredbeni redak sustava Windows PowerShell ne razlikuje velika i mala slova, pa se ove naredbe mogu upisati u malim i malim slovima. Dolje su navedeni glavni cmdleti:
- Get-Lokacija – Nabavite trenutni direktorij
- Set-Lokacija – Nabavite trenutni direktorij
- Premjestiti-točka – Premještanje datoteke na novo mjesto
- Copy-točka – Kopirajte datoteku na novo mjesto
- Preimenovati – stavka Preimenuj postojeću datoteku
- Nova stvar – Stvorite novu datoteku
Za potpuni popis naredbi koje su vam dostupne upotrijebite cmdlet Get-Command. U naredbeni redak unijeli biste sljedeće:
PS C: \> Get-Command
Važno je napomenuti da Microsoft u zadanim postavkama ograničava korisnike u korištenju prilagođenih PowerShell cmdleta. Da biste mogli koristiti PowerShell cmdlete, morate promijeniti ExecutionPolicy iz Ograničen do RemoteSigned. Daljinski potpisan omogućit će vam pokretanje vlastitih skripti, ali će zaustaviti nepotpisane skripte od drugih korisnika.
Za promjenu pravila izvršenja upišite sljedeću naredbu PowerShell:
PS C: \> Set-ExecutionPolicy
Za promjenu u RemoteSigned, upišite sljedeću naredbu:
PS C: \> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Provjerite jeste li na administratorskom računu kako biste imali dozvolu za postavljanje novih pravila izvršavanja.
Kako pokrenuti skripte
Procesi i naredbe temeljeni na skriptu dio su temelja PowerShell-ove svestranosti. Skripta je u programu PowerShell u osnovi tekstualna datoteka s nastavkom ps1 u nazivu datoteke. Da biste stvorili novu skriptu, jednostavno otvorite bilježnicu sustava Windows, upišite svoje naredbe i spremite s oznakom ‘.ps1’ na kraju imena..
Da biste pokrenuli skriptu, unesite mapu i naziv datoteke u PowerShell prozor:
PS c: \ powershell \ mynewscript.ps1
Nakon što učinite to, odabrana će se skripta.
Želite stvoriti vlastite skripte PowerShell-a? Gotovo 5k učenika pohađalo je ovaj tečaj Udemy-a na Naprednom skriptu s PowerShell-om.
Preklapanje s Windows naredbama
Kada ste novi u PowerShell-u, može vam biti neuobičajeno pokušati i naučiti potpuno novu biblioteku naredbi. Međutim, ono što većina novih korisnika ne shvaća jest da se sintaksa koja se koristi u Windows naredbenoj liniji preklapa s PowerShell-om. To olakšava činjenica da PowerShell nije osjetljiv na velika i mala slova.
Kao i naredbeni redak, na PowerShell-u naredba cd još uvijek mijenja direktorije, a dir i dalje daje popis datoteka unutar odabrane mape. Kao takvo, važno je zapamtiti da ne morate nužno početi ispočetka. Ako ovo uzmete u obzir, pomoći ćete smanjiti krivulju učenja s kojom se suočavate kada koristite PowerShell i smanjiti broj novih naredbi koje morate naučiti.
U skladu s tim, važno je napomenuti da se one ne smatraju potpunim PowerShell naredbama koliko su pseudonimi (Powershell je naziv za Windows naredbene naredbe). Iako možete isprobati neke naredbe Command Prompt-a u PowerShellu, trebali biste naučiti što više o novim. Unatoč tome, iskustvo Command Prompt-a definitivno može pomoći novim korisnicima da se uhvate u koštac sa PowerShell-om i udari u zemlju.
Izrada sigurnosne kopije SQL baze podataka
Mnogi ljudi koriste PowerShell za izradu sigurnosne kopije SQL baza podataka. Sučelje naredbenog retka može provesti sigurnosno kopiranje baze podataka, sigurnosno kopiranje datoteka i sigurnosno kopiranje dnevnika transakcija. Postoji mnogo načina za sigurnosno kopiranje baze podataka u PowerShellu, ali jedan od najjednostavnijih je korištenje naredbe Backup-SqlDatabase. Na primjer:
PS C: \> Backup-SqlDatabase -ServerINstancija “Računalo \ Instance” -Database “Databasecentral”
Tako će se stvoriti sigurnosna kopija baze podataka s nazivom “Databasecentral” (ili imenom vaše odabrane baze podataka “.
Da biste napravili sigurnosnu kopiju dnevnika transakcija, trebali biste unijeti:
PS C: \> Backup-SqlDatabase -ServerInstance “Računalo \ Instance” -Dabaza “Databasecentral” -BackupAction Log
Tako će se stvoriti dnevnik transakcija odabrane baze podataka.
Osnovne naredbe PowerShell-a
Korištenje pseudonime do sada će vas odvesti samo na PowerShell, tako da je važno založiti se za učenje svega što možete o izvornim naredbama PowerShell-a. Dotakli smo se nekih od gore navedenih, ali ćemo u nastavku detaljnije razrijediti glavne.
Dobiti pomoć
Ova bi naredba trebala biti na vrhu popisa bilo kojeg novog korisnika kada je u pitanju PowerShell. Naredba Get-Help može se koristiti za doslovno pomoć s bilo kojom drugom naredbom PowerShell. Na primjer, ako znate ime naredbe, ali ne znate što čini ili kako je koristiti, naredba Get-Help daje potpunu sintaksu naredbi.
Na primjer, ako želite vidjeti kako funkcionira Get-Process, upisali biste:
PS C: \> Get-Help -Name Get-ProcessPS C: \> Set-ExecutionPolicy
Kao što je već spomenuto u ovom vodiču, Microsoft ima ograničenu politiku izvršenja koja sprečava skriptiranje na PowerShell-u, osim ako ga ne promijenite. Prilikom postavljanja pravila izvršavanja, imate četiri mogućnosti za odabir:
- Ograničen – Zadana pravila izvršavanja koja sprečavaju pokretanje skripti.
- Svi potpisani – Pokreće skripte ako ih potpiše pouzdan izdavač
- Daljinski potpisan – Omogućuje pokretanje skripti koje su kreirane lokalno
- Neograničen – Pravilo bez ograničenja na pokretanje skripti
PS C: \> Get-ExecutionPolicy
Ako koristite PowerShell, možda nećete uvijek raditi na poslužitelju koji je upoznat. Izvođenje naredbe Politika dobivanja izvršenja omogućit će vam da vidite koja su pravila aktivna na poslužitelju prije pokretanja nove skripte. Ako zatim vidite da dotični poslužitelj radi pod ograničenim pravilima, tada možete implementirati Set-ExecutionPolicy naredba za promjenu.
Get-usluga
Jedna od najvažnijih naredbi je Get-Service, koji korisniku pruža popis svih instaliranih usluga na sustavu, i pokretanih i zaustavljenih. Ovaj cmdlet se može usmjeriti korištenjem određenih naziva usluga ili objekata.
Na primjer, ako biste unijeli PS C: \> Get-Service, prikazat će vam se popis svih usluga na vašem računalu, njihovi statusi i prikazana imena.
Za upotrebu ove naredbe za dohvaćanje određenih usluga upišite: PS C: \ Get-Service “WMI *” za dohvaćanje svih usluga koje započinju s WMI.
Ako želite ograničiti izlaz na aktivne usluge na vašem računalu, unesite sljedeću naredbu:
PS C: \ Get-Service | Where-Object {$ _. Status -eq “Running”}
ConvertTo-HTML
Kada koristite PowerShell, možda biste trebali generirati izvještaj o informacijama koje ste vidjeli. Jedan od najboljih načina da to učinite je pomoću ConvertTo-HTML naredba. Ovaj cmdlet omogućuje vam izradu izvještaja s tablicama i bojama što vam može pomoći u vizualizaciji složenih podataka. Jednostavno odaberite objekt i dodajte ga naredbi. Na primjer, možete upisati:
Get-PSDrive | ConvertTo-HTML
To vraća masu podataka, tako da je dobro ograničiti ga na datoteku s naredbom Out-File. Bolja alternativna naredba je:
Get-PSD pogon | ConvertTo-Html | Izvan datoteke -FilePath PSDrives.html
Tako će se generirati HTML datoteka u obliku tablice. Na primjer:
Tada možete dodati vlastite boje i obrube da biste poboljšali njezinu prezentaciju.
Izvezi-CSV (i usluga za preuzimanje)
Ništa manje važna za povećanje vidljivosti je naredba Export-CSV. Omogućuje vam izvoz PowerShell podataka u CSV datoteku. U osnovi, ova naredba stvara CSV datoteku koja objedinjuje sve predmete koje ste odabrali u PowerShell-u. Svaki objekt ima svoju liniju ili redak u CSV datoteci. Ova se naredba prvenstveno koristi za izradu proračunskih tablica i razmjenu podataka s vanjskim programima.
Da biste koristili ovu naredbu, unijeli biste:
PS C: \> Get-Service | Izvezi-CSV c: \ service.csv
Važno je zapamtiti da ne formatirate objekte prije pokretanja naredbe Export-CSV. To je zato što formatiranje objekata rezultira time da se u format CSV stave samo formatirana svojstva, a ne sami izvorni objekti. U slučaju da želite poslati određena svojstva objekta u CSV datoteku, upotrijebite Odaberi-objekt cmdlet.
Za korištenje Odaberi-objekt cmdlet, upišite:
PS C: \> Get-Service | Select-Object Name, Status | Export-CSV c: \ Service.csv
Get-Process
Ako želite vidjeti sve procese koji se trenutno izvode na vašem sustavu, dodajte Get-Process naredba je vrlo važna. Da biste dobili popis svih aktivnih procesa na vašem računalu, upišite:
PS C: \ Get-postupak
Imajte na umu da ako ne navedete nijedan parametar, doći će vam do prekida svakog aktivnog procesa na vašem računalu. Da biste odabrali određeni postupak, smanjite rezultate prema nazivu procesa ili ID-u procesa i kombinirajte ga s Format-List cmdlet, koji prikazuje sva dostupna svojstva. Na primjer:
PS C: \ Get-Process windowrd, explorer | Popis oblika *
To vam omogućuje sveobuhvatan nadzor nad svim aktivnim procesima.
Get-EventLog
Ako ikada želite pristupiti zapisima događaja (ili zapisima na udaljenim računalima) vašeg računala dok koristite PowerShell, trebat će vam Get-EventLog naredba. Ovaj cmdlet radi samo na klasičnim zapisima događaja, pa će vam trebati Get-WinEvent naredba za zapisnike kasnije od sustava Windows Vista.
Za pokretanje naredbe dnevnika događaja upišite:
PS C: \> Get-EventLog -List
To će pokazati sve zapise događaja na vašem računalu.
Jedan od najčešćih razloga zbog kojeg korisnici gledaju u zapisnike događaja jest vidjeti pogreške. Ako želite vidjeti događaje s pogreškama u svom zapisniku, jednostavno upišite:
PS C: \> Pogreška Get-EventLog -LogName System -EntryType
Ako želite preuzeti zapisnike događaja s više računala, navedite koje uređaje želite pregledati (u nastavku su navedeni “Server1” i “Server2”). Na primjer:
PS C: \> Get-EventLog – Naziv “Windows PowerShell” -ComputerName “lokalno računalo”, “Server1”, “Server2”.
Parametri pomoću kojih možete pretraživati zapisnike događaja uključuju:
- Nakon – Korisnik određuje datum i vrijeme, a cmdlet će locirati događaje koji su se dogodili nakon
- AsBaseObject – Pruža System.Diagnostics.EventLogEntry za svaki događaj
- AsString – vraća izlaz kao nizove
- Prije – Korisnik određuje datum i vrijeme, a cmdlet će locirati događaje koji su se dogodili prije
- ComputerName – Koristi se za upućivanje na udaljeno računalo
- EntryType – Određuje vrstu unosa događaja (Greška, Revizija neuspjeha, Revizija uspjeha, Informacije, Upozorenje)
- Indeks – Određuje vrijednosti indeksa koji cmdlet pronalazi događaje iz
- Popis – Pruža popis dnevnika događaja
- Korisničko ime – Određuje korisnička imena povezana s određenim događajem
Stop-Proces
Kad koristite PowerShell, nije neuobičajeno da se dogodi postupak zamrzavanja. Kad god se to dogodi, možete koristiti Get-Process dohvatiti ime procesa koji ima poteškoća i zaustaviti ga s Stop-Proces naredba. Općenito, postupak zaključujete njegovim imenom. Na primjer:
PS C: \> Stop-Process – Naziv “bilježnica”
U ovom primjeru, korisnik je ukinuo Notepad pomoću naredbe Stop-Process.
PowerShell: Snažno sučelje naredbenog retka
Iako se prelazak na PowerShell može činiti prilično složenim, sučelje naredbenog retka djeluje slično kao i bilo koje drugo. Možda ima svoje jedinstvene cmdlete, ali mnoštvo mrežnih resursa može vam pomoći u bilo kojem administrativnom zadatku koji se sjetite. Da biste maksimalno iskoristili PowerShell, jednostavno se morate naviknuti na mnoštvo naredbi koje su vam dostupne.
Kao novog korisnika lako je postati očajan PowerShell-ovim cmdletima od 200 plus. Pobrinite se da započnete s sučeljem naredbenog retka prije nego što pređete na potpuno puni GUI. Bez obzira jeste li novi u sučeljima PowerShell-a ili naredbenog retka, na mreži je dostupno više nego dovoljno podataka koji će vam pomoći da najbolje iskoristite ovaj moćan alat.
Nisam siguran kako bih se osjećao da sam računalo, ali PowerShell zvuči kao vrlo korisna alatka za automatizaciju administrativnih zadataka u sustavu Windows. Činjenica da je postao aplikacija otvorenog koda i dostupan korisnicima Linuxa i Unixa samo dodaje na njegovoj svestranosti. Hvala na dijeljenju ovih osnovnih naredbi, siguran sam da će biti korisne za mnoge korisnike.
Nisam siguran kako bih se osjećao da sam računalo, ali PowerShell zvuči kao vrlo korisna alatka za automatizaciju administrativnih zadataka u sustavu Windows. Činjenica da je postao aplikacija otvorenog koda i dostupan korisnicima Linuxa i Unixa samo dodaje na njegovoj svestranosti. Hvala na ovom pregledu osnovnih naredbi PowerShell-a!