Iako ova serija nije strukturirana oko ispita, učenje PowerShell je jedna od najvažnijih stvari koje možete učiniti kao mrežni administrator, pa ako postoji jedna stvar koju želite naučiti kako bi pomogla IT karijeri, to je to. Osim toga, zabavno je.
Uvod
PowerShell je najmoćniji alat za automatizaciju koji Microsoft ima za ponuditi, a to je i ljuska i skriptni jezik.
Imajte na umu da se ova serija temelji na PowerShell 3, koji se isporučuje s Windows 8 i Server 2012. Ako koristite Windows 7, prije nastavka preuzmite ažuriranje programa PowerShell 3.
Upoznajte konzolu i ISE
Postoje dva načina interakcije s PowerShellom izvan okvira, Konzola i Integriranog okruženja skriptiranja - također poznatog kao ISE. ISE je znatno poboljšana od zastrašujuće verzije koja se isporučuje s PowerShell 2 i može se otvoriti pritiskom na kombinaciju Tipkovnica Win + R kako biste pokrenuli okvir za pokretanje, a zatim tipkali powerhell_ise i pritisnite enter.
Upotreba sustava pomoći
U prethodnim verzijama sustava PowerShell, datoteke pomoći bile su uključene kada ste instalirali sustav Windows. Ovo je uglavnom bilo dobro rješenje, no ostavilo nas je s velikim problemom. Kada je pomoćni tim za PowerShell morao prestati raditi na datotekama pomoći, razvojni programeri programa PowerShell još su bili zauzeti kodiranje i promjene. To je značilo da kada se PowerShell isporučio, datoteke za pomoć nisu bile točne jer nisu sadržavale nove izmjene koje su izvršene u kodu. Da biste riješili taj problem, PowerShell 3 dolazi bez ikakvih datoteka za pomoć iz kutije i uključuje sustav za ažuriranje sustava. To znači da prije nego što učinite bilo što želite preuzeti najnovije datoteke pomoći. To možete učiniti tako da otvorite PowerShell konzolu i pokrenete:
Update-Help
Get-Help –Name Update-Help
Da biste odgovorili na drugo pitanje, postoji određena sintaksa koja prati datoteke i ovdje je:
- Kvadratne zagrade oko naziva parametara i njenog tipa znači da je to izborni parametar, a naredba će funkcionirati sasvim bez nje.
- Kvadratne zagrade oko imena parametara znači da su parametri pozicijski parametri.
- Stvar s desne strane parametra u uglatim zagradama navodi vrstu podataka koju parametar očekuje.
Dok biste trebali naučiti pročitati sintaksu datoteke pomoći, ako niste sigurni o određenom parametru, jednostavno dodajte -Točno do kraja naredbe za dobivanje pomoći i pomaknite se do odjeljka o parametrima, gdje će vam reći nešto više o svakoj parametar.
Get-Help –Name Update-Help –Full
Get-Help –Name *service*
sigurnosti
Ovo ne bi bio pravi uvod, a da ne spominjemo sigurnost. Najveća zabrinutost za PowerShell tim je da PowerShell postaje najnovija i najveća točka napada za skripte kiddies. Stavili su nekoliko sigurnosnih mjera kako bi bili sigurni da se to ne dogodi, pa ih pogledajmo.
Najosnovniji oblik zaštite dolazi od činjenice da se proširenje PS1 datoteke (proširenje koje se koristi za označavanje PowerShell skripte) nije registrirano kod host PowerShell, a zapravo je registriran u Notepadu. To znači da dvostrukim klikom na datoteku otvorit će se s notepad umjesto trčanje.
Drugo, ne možete pokrenuti skripte iz ljuske samo upisivanjem naziva skripte, morate odrediti cijeli put do skripte. Dakle, ako želite pokrenuti skriptu na vašem C pogonu, morat ćete upisati:
C:
unme.ps1
Ili ako ste već u korijenu C pogona, možete koristiti sljedeće:
unme.ps1
Konačno, PowerShell ima nešto što se naziva Izvršnim pravilima, koje vas spriječavaju da pokrenete bilo koju staru skriptu. Zapravo, prema zadanim postavkama, ne možete pokrenuti nijednu skriptu i trebate promijeniti pravila o izvršenju ako ih želite dopustiti. Postoje 4 značajne provedbene politike:
- Ograničen: Ovo je zadana konfiguracija u sustavu PowerShell. Ova postavka znači da se nijedna skripta ne može pokrenuti, bez obzira na njegov potpis. Jedina stvar koja se može pokrenuti u PowerShell s ovom postavkom je individualna naredba.
- AllSigned: Ova postavka dopušta pokretanje skripti u programu PowerShell. Skripta mora imati pridruženi digitalni potpis pouzdanog izdavača. Bit će vam upit prije nego što pokrenete skripte od pouzdanih izdavača.
- RemoteSigned: Ova postavka omogućuje pokretanje skripti, ali zahtijeva da skript i konfiguracijske datoteke preuzete s interneta imaju pridruženi digitalni potpis izdavača pouzdanih. Skripte pokrenute s lokalnog računala ne moraju biti potpisane. Prije pokretanja skripte nema nikakvih upita.
- Neograničen: To omogućuje pokretanje nepotpisanih skripti, uključujući sve skripte i konfiguracijske datoteke preuzete s interneta. To će uključivati datoteke iz programa Outlook i Messenger. Rizik je ovdje pokretanje skripti bez potpisa ili sigurnosti. Ponovno smo rekli da nam nikada niste postavili ovu postavku.
Da biste vidjeli vaša trenutna pravila izvršenja, otvorite PowerShell konzolu i upišite:
Get-ExecutionPolicy
Napomena: To će se trebati obaviti s povišene konzole PowerShell.
Set-ExecutionPolicy RemoteSigned
Odricanje od odgovornosti: Odgovarajući pojam za naredbu PowerShell je cmdlet, a od sada ćemo koristiti ovu ispravnu terminologiju. Jednostavno se osjećao prikladnijim da ih zovu naredbama za ovaj uvod.
Ako imate bilo kakvih pitanja, možete me tweetirati @taybgibb, ili jednostavno ostaviti komentar.