Kako napisati i pokrenuti PowerShell skripte. Kako otvoriti PowerShell, sve metode

1. Pisanje skripte

PowerShell skripta (bez obzira na verziju) je tekstualna datoteka sa ekstenzijom *.ps1.

Evo primjera jednostavne Power Shell skripte (datoteka systemInfo.ps1):

# Preuzimanje WMI objekta za operativni sistem

Get-WmiObject Win32_OperatingSystem

Ova datoteka se može kreirati i uređivati, na primjer, u FAR Manageru.

Bilješkada FAR Manager, iako može raditi u Power Shell konzoli, izvršava skripte ispod sebe u okruženju obične Windows konzole cmd . To jest, FAR Manager se može koristiti samo za kreiranje i uređivanje PowerShell skripti, ali ne i za njihovo pokretanje. Ali prije nego se razočarate, pročitajte tačku 3.

2. Pokretanje skripte

Skripta se mora izvršiti sa Power Shell konzole, a ne sa uobičajene Windows konzola. U Power Shell konzoli morate otići u direktorij u kojem se nalazi skripta (sa naredbama CD ), a zatim pokrenite samu skriptu, pazeći da uključite znakove ispred nje".\" . Na primjer, imamo putanju do datoteke skripte d:\work\systemInfo.ps1 . Tada će komande za pokretanje izgledati ovako:

cd\

cd rad

.\systemInfo.ps1

ili ovako (samo navedite punu putanju do skripte):

d:\work\systemInfo.ps1

Najvjerovatnije će se prilikom pokretanja skripte pojaviti sljedeća greška:

Datoteka D:\work\systemInfo.ps1 se ne može učitati jer izvršavanje skripte nije dozvoljeno na ovom sistemu. Unesite "get-help about_signing" za više informacija.

red:1 znak: 18

CategoryInfo: NotSpecified: (:), PSSecurityException

FullyQualifiedErrorId: RuntimeException

Greška se pojavljuje zato što Power Shell podrazumevano ima omogućenu maksimalnu bezbednosnu politiku, koja vam omogućava da pokrenete PowerShell komande na komandnoj liniji, ali vam ne dozvoljava da pokrenete skriptu sa PowerShell komandama na istoj komandnoj liniji.

Da biste omogućili izvršavanje PowerShell skripti, morate kreirati *.bat datoteku, na primjer enableScript.bat sa sljedećim sadržajem:

powershell -Command Set-ExecutionPolicy RemoteSigned

Ova *.bat datoteka može se izvršiti na bilo kojoj konzoli: bilo u PowerShell-u ili u običnoj konzoli cmd . Nakon izvršavanja ove datoteke, PowerShell skripte će se pokrenuti u PowerShell konzoli.

3. Pokretanje PowerShell skripte sa obične Windows cmd konzole

PowerShell skripta se takođe može izvršiti sa obične Windows konzole. Da biste to učinili možete koristiti naredbu:

Powershell -Datoteka ./systemInfo.ps1

Na ovaj način možete izvršiti skripte direktno iz FAR Managera i one će raditi.

Ali ovdje postoji mala suptilnost. Parametar-Dosije aktivira se samo na lokalnim stazama, čak i ako je staza relativna"./" . To jest, ako *.ps1 - datoteka je na lokalnom disku C: ili D: , onda će takav poziv raditi. Ali ako pokušate da izvršite skriptu koja se nalazi na resursu domene, skripta neće biti pronađena. Možda će to biti popravljeno u budućim verzijama PowerShell-a.

Zdravo svima! Danas kratka napomena na temu, kako otvoriti powershell kao administrator. Da vas podsjetim da je PowerShell moćan programski i administrativni jezik iz Microsofta, svake godine raste, sve velika količina cmdlete i funkcionalnost. U suštini, to je zamjena za Windows Command Prompt. U nastavku ćemo razmotriti metode koje vam omogućavaju da ga otvorite i konfigurirate.
.

Metode za otvaranje PowerShell dodatka

Powershell se jako dobro razvija i sa izdavanjem Windows 10 već je dobio verziju 4, ali naša tema je drugačija. Dakle, kako otvoriti powershell? Sve je jednostavno ako u Windows XP, onda ništa. Pošto se isporučuje zasebno, u svim narednim izdanjima dolazi kao ugrađena komponenta. Većina univerzalna metoda otvorite powershell ovim klikom

Win+R i unesite powershell

Pritiskom na enter pokreće se PowerShell konzola, jedini problem je što se neće otvoriti kao administrator. I kao rezultat toga, mnoge komande neće biti izvršene; u nastavku ćemo vidjeti kako to učiniti u ime administratora.

Kako otvoriti Windows PowerShell kao administrator u Windowsima 8.1 i Windows 7

Možete otvoriti Windows Powershell preko Start. U Windows 8.1, Windows 2012 R2, idite na Sistemske alatke - Windows i kliknite desnim tasterom miša i izaberite Pokreni kao administrator.

U Windows 7 i Windows 2008 R2 to izgleda ovako Start > Accessories > Windows PowerShell

Također možete kreirati prečicu u stavci zadatka i desnim klikom na nju odabrati odgovarajuću stavku

Bilo bi zgodno kada bi se PowerShell uvijek otvarao kao administrator, hajde da ga implementiramo. Ovo se radi na isti način u svim verzijama Windowsa. Otvaranje kontrolne table

Kliknite desnim tasterom miša na njega i izaberite Svojstva. Možete odmah vidjeti putanju do datoteke gdje se nalazi u sistemu.

Kliknite na dugme "Napredno". Vidjet ćete dodatna svojstva. gdje trebate označiti polje Pokreni kao administrator.

Sve je vrlo jednostavno. Siguran sam da sada nećete imati pitanje kako da otvorite Windows Powershell. Još jedna korisna stvar je promjena fonta u prozoru Powershell-a.

Kako otvoriti PowerShell iz kontekstnog menija dugmeta Start u Windows 10

Microsoft sve više stavlja naglasak sa komandne linije na svoj jak jezik (PowerShell), i to je logično, budući da njegove mogućnosti za upravljanje operativnim sistemima Windows porodica, su gotovo neograničeni, ako ne i više, nego u grafičkom interfejsu. Počevši od Windows verzije 10 1709, u kontekstualnom meniju, PowerShell, zamenio je uobičajeni cmd za sve. Kliknite desnim tasterom miša na dugme Start u Windows 10 i iz kontekstnog menija izaberite odgovarajuću stavku:

  1. Windows PowerShell
  2. Windows PowerShell (administrator) je upravo režim sa maksimalnim pravima u Windows 10.

Pokrenite Windows PowerShell koristeći Search u Windows 10

Na Windows 10 i starijim verzijama možete pronaći PowerShell koristeći redovna pretraga, postoji poseban odjeljak za ovo. Kliknite pored dugmeta Start, ikonu lupe. U obrazac za pretragu koji se otvori unesite riječ PowerShell. Tražit ćete sve opcije, među kojima ćete pronaći ljusku. Ako kliknete desnim tasterom miša na njega, možete ga otvoriti kao administrator.

Pokretanje Windows PowerShell-a iz menija Start u operativnom sistemu Windows 10

Da biste otvorili PowerShell iz menija Start, otvorite ga i pronađite stavku Windows PowerShell, ona će biti u obliku fascikle, otvorite je i pokrenite odgovarajuću verziju.

Ako kliknete desnim tasterom miša, možete pokrenuti Vershel shell kao administrator s administratorskim pravima.

Dodatne i generičke metode pokretanja ljuske

Postoje i vrlo specifične metode za otvaranje ljuske sa moćnim jezikom iz Microsofta. Najnespretniji, lako ga je pronaći izvršnu datoteku i pokrenite ga direktno sa lokacije na sistemu. Idemo na vaš Windows 10 sljedećim putem:

C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell

Kao rezultat toga, vidjet ćete fasciklu sa prečicama koje su prisutne u Start meniju, možete ih pokrenuti.

Također možete pokrenuti originalnu izvršnu datoteku, koja se nalazi duž putanje:

C:\Windows\System32\WindowsPowerShell\v1.0

A desnim klikom na njega možete ga preuzeti kao administrator, sa maksimalnim pravima.

Također možete pokrenuti Windows PowerShell iz prozora komandne linije; da biste to učinili, jednostavno unesite čarobnu riječ u njega i pritisnite Enter.

Pa, da vas podsjetim i na metodu pokretanja novog zadatka iz dodatka “Task Manager”. Otvorite "Task Manager", odaberite stavku menija "Datoteka - Pokreni novi zadatak"

U prozoru koji se pojavi unesite PowerShell.

Pa, posljednja metoda koja mi je poznata je pokretanje PowerShell-a putem Windows Explorer 10, da biste to učinili, otvorite Explorer, odaberite stavku menija "Datoteka - pokrenite Windows PowerShell", postojat će oba načina.

Šta je PowerShell ISE

Verovatno ste primetili da je PowerShell ISE prečica svuda i želite da znate šta je to. Ukratko, ovo je posebna ljuska u kojoj možete pisati skripte i scenarije u PowerShell-u, koristeći svu raznolikost cmdlet-a koje vam Microsoft nudi.

Powershell promjena fonta je vrlo jednostavna, idite na karticu Font u svojstvima, gdje možete podesiti veličinu od 5 do 72.

Također možete doći do svojstava iz samog prozora uslužnog programa, kliknite na ikonu u gornjem lijevom uglu i odaberite svojstva

Ovdje su postavke fonta malo drugačije, a kako se mijenjaju, mijenja se i veličina konzole.

Na kartici Boje možete postaviti boju fonta u Powershell-u i samom prozoru. Tako što ćete ga, na primjer, učiniti crnim, poput komandne linije.

Također savjetujem da ako ste aktivni korisnik konzole, postavite veličinu bafera ne na 50 komandi, već barem na 100.

Hvala vam na pažnji. Ovo su metode za otvaranje Power Shell konzole u Windowsu. Materijal sajta

Iskusni korisnici operacionih sala Windows sistemi 10 je možda čuo za PowerShell uslužni program komandne linije. Oni sa iskustvom u radu sa Windows 7 i 8.1 takođe mogu biti upoznati sa tim. Nakon mnogo godina korištenja komandne aplikacije Windows strings i .bat datoteke, vrijeme je da se upoznate sa funkcionalnijim alatom.

PowerShell je vrijedan dodatak listi Windows alati a njegova veličina može odvratiti neke korisnike. Šta je to - skriptni jezik ili komandna školjka? Ne brinite: uprkos velikim mogućnostima, svako može savladati PowerShell.

Korak 1: Instalacija

Prvo, trebamo sam uslužni program PowerShell. Ako koristite Windows 10, već imate instaliran PowerShell 5. Windows Update 10 Anniversary Update koristi verziju 5.1, ali razlika nije primjetna. Windows 8 i 8.1 koriste PowerShell 4, što je takođe sasvim dovoljno. Instaliranje PowerShell-a na Windows 7 neće uzrokovati probleme, ali ćete ipak morati poduzeti nekoliko dodatnih koraka. Konkretno, potrebno je dodatno instalirati .Net Framework. Možete instalirati Windows Management Framework, koji uključuje PowerShell.

PowerShell ima dva interfejsa. Napredni korisnici se mogu odlučiti za potpuno GUI sučelje poznato kao Integrated Scripting Environment (ISE). Za početnike, najbolje je koristiti PowerShell konzolu, jednostavan Windows interfejs u stilu komandne linije zasnovan na tekstu, ili čak DOS 3.2.

Da biste pokrenuli PowerShell kao administrator u operativnom sistemu Windows 10, kliknite na dugme Start i pomerite se nadole do Windows PowerShell. U operativnom sistemu Windows 8.1 potražite Windows PowerShell u fascikli Sistem u operativnom sistemu Windows. U Windows 7, ljuska se nalazi u fascikli Pribor. Kao običan korisnik, PowerShell se može pokrenuti na potpuno isti način koristeći lijevo dugme miš umjesto desnog.

Možete koristiti pretragu na bilo kojoj verziji Windows-a. Za lakšu buduću upotrebu, možete zakačiti PowerShell na traku zadataka.

Korak 2: Stare Windows komande

Sintaksa Windows komande u PowerShell-u radi kao i obično. Na primjer, CD mijenja foldere, dir prikazuje listu svih datoteka i foldera unutar trenutnog foldera.

Ovisno o tome kako pokrećete PowerShell konzolu, možda ćete početi c:\Windows\system32 ili u c :\Korisnici\ . Primjer na snimku ekrana koristi naredbu CD..(sa razmakom) da se pomerite jedan po nivo gore, a zatim pokrenite naredbu dir za prikaz liste datoteka i fascikli u direktorijumu C:\.

Korak 3: Instalirajte datoteke pomoći

Timovi vole CD I dir nisu aktivne PowerShell komande. Ovo su takozvani aliasi - zamjene za prave PowerShell komande. Aliasi su korisni za one koji imaju veliko iskustvo sa komandnom linijom. Međutim, oni ne dotiču dubine PowerShell-a.

Da biste započeli sa PowerShell-om, otkucajte pomoć i komandu koja vam je potrebna. Snimak ekrana prikazuje komandu .

Tim pomoć kaže to dir je pseudonim za naredbu PowerShell Get-ChildItem. Ako kucate get-childitem V PS C:\>, vidjet ćete istu stvar kao kada koristite naredbu dir.

Kao što je navedeno na dnu snimka ekrana, datoteke pomoći za PowerShell se ne instaliraju automatski. Da biste ih dobili, pokrenite PowerShell kao administrator i ukucajte update-help. Instaliranje datoteka pomoći će potrajati nekoliko minuta; određeni moduli mogu nedostajati - na primjer, u ovom slučaju nisu instalirani pomoć za NetWNV i SecureBoot. Kada sve bude spremno, kompletan sistem pomoći će uvijek pružiti potrebne savjete.

Sada upišite naredbu dobiti pomoć i bilo koju komandu koja vas zanima („cmdlet“ u PowerShell-u, cmdlet na ruskom), njen opis će biti prikazan. Na primjer, get-help get-childitem prikazuje listu opcija get-childitem. Također možete prikazati različite moguće opcije. Na primjer

get-help get-childitem -primjeri

pruža sedam detaljnih primjera upotrebe get-childitem. Tim

get-help get-childitem -detailed

uključuje ovih sedam primjera i detaljna objašnjenja svakog parametra u cmdlet-u get-childitem.

Korak 4: Potražite pomoć s postavkama

Na snimku ekrana možda ste primijetili dvije liste ispod SINTAKSA Za get-childitem. Imati dvije različite sintakse znači da postoje dva načina za pokretanje cmdleta. Kako zadržati sintaksu odvojenu jednu od druge i šta znače parametri? Odgovor je jednostavan ako znate trik.

Za detalje o cmdlet parametrima get-childitem ili bilo koji drugi parametar upotrebe -pun:

get-help get-childitem -full

Ovo vam daje listu onoga što možete učiniti sa cmdlet-om i šta će se dogoditi. Pogledajte snimak ekrana.

Pregledajući opise parametara, primijetit ćete to get-childitem omogućava dobijanje objekta dijete(kao što je naziv podmape ili naziv datoteke) na određenoj lokaciji, sa ili bez podudaranja određenih znakova. Na primjer:

get-childItem “*.txt” -recurse

vraća listu "*.txt" fajlova u trenutnom folderu i svim podfolderima (zbog parametra -povratak). Dok

get-childitem “HKLM:\Softver”

vraća listu svih ključeva registra najvišeg nivoa HKEY_LOCAL_MACHINE\Softver.

Ako ste ikada pokušali da uđete u registar koristeći Windows komandnu liniju ili .bat datoteke, cijenit ćete funkcionalnost ove opcije pristupa.

Korak 5: Učenje imena

Postoji razlog zašto do sada prikazani cmdleti izgledaju slično: get-childitem, update-help, get-help koristiti jedan obrazac glagol-imenica. Sve PowerShell cmdlete koriste ovu konvenciju; koriste glagol ispred jedne imenice. Ovo će se svidjeti onima koji su nekada patili od nekonzistentnih naziva komandi u VB i VBA jezicima.

Pogledajte najčešće cmdlete:

set-location: postavlja trenutnu radnu lokaciju na određenu lokaciju

get-content: Uzima sadržaj datoteke

get-item: preuzima datoteke i fascikle

copy-item: kopira objekt s jedne lokacije na drugu

remove-item: Briše datoteke i foldere

: Pokreće procese na lokalnom ili udaljenom računaru

get-service: Pokreće usluge na lokalnom ili udaljenom računaru

invoke-webrequest: preuzima sadržaj sa web stranice na Internetu

Da vidite kako određeni cmdlet radi, koristite dobiti pomoć kao u slučaju

get-help copy-item -full

Na osnovu opisa u pomoći, možete razumjeti šta cmdlet treba. Na primjer, ako želite kopirati sve datoteke i mape iz Dokumenti V c:\temp, koristiti

copy-item c:\users\ \documents\* c:\temp

Ako unesete ovu naredbu, vidjet ćete nekoliko zanimljivih karakteristika PowerShell okruženja. Na primjer, ako kucate kopija-i i pritisnite dugme Tab, PowerShell će popuniti Copy-Item. Ako neispravno unesete cmdlet i PowerShell ga ne može prepoznati, dat će se potpuni opis onoga što je pogrešno urađeno.

Isprobajte ovaj cmdlet:

invoke-webrequest askwoody.com

Dobit ćete kratku listu naslova, slika, linkova i drugog sadržaja web stranice. Napomena u dobiti pomoć na listu invoke-webrequest, koji „vraća kolekciju obrazaca, linkova, slika i ostalog važnog HTML elementi" - upravo ono što bi trebalo biti prikazano na ekranu.

Neke cmdlete vam pomažu da upravljate samim PowerShell-om:

get-command: lista svih dostupnih cmdlet-a

get-glagol: lista svih dostupnih glagola

clear-host: Obrišite ekran glavnog programa

Različiti parametri vam omogućavaju da smanjite komande i suzite raspon korisnih opcija. Na primjer, da biste vidjeli listu svih cmdlet komandi koje rade sa Windows uslugama, otkucajte

get-command *-servis

Biće prikazani svi glagoli dostupni uz imenicu usluga. Evo njihove liste:

Get-Service

New-Service

Restart-Servis

Resume-Service

Set-Servis

Start-Servis

Stop-Servis

Suspend-Service

Možete kombinovati ove cmdlete sa drugim.

Korak 6: Korištenje cijevi

Ako ste upoznati sa Windows komandnom linijom ili batch fajlovi, onda znate za preusmjeravanje i cijevi. Preusmjeravanje (> simbol) i cijevi (simbol |) uzimaju rezultat akcije i pričvršćuju ga na drugu lokaciju. Na primjer, možete preusmjeriti rezultat naredbe dir u tekstualnu datoteku ili proslijedite rezultat naredbe ping timu naći za filtriranje zanimljivih rezultata poput

dir > temp.txt

ping askwoody.com | pronađite “packets” > temp2.txt

Ovdje u drugom timu naći traži niz paketi, preuzeto sa adrese askwoody.com od strane tima ping i spaja sve odgovarajuće linije u datoteku pod nazivom temp2.txt.

Prva od ovih naredbi radi dobro u PowerShell-u. Za pokretanje druge naredbe trebat će vam nešto poput

ping askwoody.com | paketi niza odabira | out-file temp2.txt

Korištenje preusmjeravanja i cijevi uvelike proširuje mogućnosti Windows komandne linije: umjesto beskonačnog pomicanja po ekranu da biste tražili tekstualni niz, možete filtrirati Windows komande koje su vam potrebne.

Powershell ima podršku cijev, i nije ograničen na tekst. PowerShell vam omogućava da proslijedite cijeli objekt iz jednog cmdleta u drugi, gdje je objekt kombinacija podataka (nazvanih svojstvima) i akcija (metoda) koje mogu koristiti te podatke.

Teški dio dolazi kada se objekti poredaju. Objekti koje dostavlja jedan cmdlet moraju odgovarati tipu objekata koje prihvata cmdlet primatelj. Tekst je vrlo jednostavan tip objekta, tako da ako radite s tekstom, poravnavanje objekata je jednostavan zadatak. Preostali objekti nisu tako osnovni.

Kako ovo razumjeti? Koristite cmdlet get-member. Ako želite znati koju vrstu objekta cmdlet obrađuje, pokrenite ga get-member. Na primjer, ako pokušavate razumjeti procese koji se pokreću na računalu i suzili ste svoje mogućnosti na cmdlete , evo kako saznati rezultat cmdlet-a:

get-process | get-member

Pokretanje ovog cmdleta proizvodi dugačku listu svojstava i metoda za , ali na samom početku liste možete vidjeti tip objekta koji kreira :

Ime vrste: System.Diagnostics.Process

Snimak ekrana ispod također pokazuje svojstva pod naslovom get-process Handles, Ime, NPM, PM, SI, VM I W.S..

Ako želite da manipulišete rezultatom Da biste radili sa ovom cmdlet-om (umjesto prikazivanja dugačke liste aktivnih procesa na monitoru), morate pronaći drugu naredbu koja uzima kao ulaz System.Diagnostics.Process. Da biste pronašli cmdlet koji vam je potreban, ponovo koristite PowerShell:

get-command -Tip parametra System.Diagnostics.Process

Ovaj cmdlet pruža listu cmdlet-a koje mogu obraditi System.Diagnostics.Process.

Neki cmdleti su poznati po prihvatanju gotovo svih vrsta podataka. Glavni među njima je . Ovaj cmdlet prolazi kroz svaki objekt poslan kroz cijevi, jedan po jedan, i na njega primjenjuje specificirane kriterije odabira. Postoji poseban marker tzv $_ , što vam omogućava da koristite svaku stavku u cijevi, jednu po jednu.

Recimo da želite da dobijete listu svih procesa koji se pokreću na računaru sa imenom "svchost", odnosno želite da se podudarate sa svojstvom Ime proces svchost. Koristite naredbu:

get-process | gdje-objekat ($_.Name -eq “svchost”)

Cmdlet gleda svaki predmet System.Diagnostics.Process, upoređuje .Ime ovaj objekat sa "svchost"; ako ima podudaranja, oni se prikazuju na monitoru. Pogledajte snimak ekrana.

Korak 7: Analizirajte korisne PowerShell komande

Do sada već znate dovoljno da biste mogli oštetiti računar, stoga budite oprezni. Pogledajmo, na primjer, često tražene PowerShell komande.

Ove komande rade samo na Windows 10 i samo kada pokrenete PowerShell kao administrator. Dizajnirani su za ponovnu instalaciju unaprijed instaliranih Windows aplikacije 10 i može biti od koristi onima koji su prvo izbrisali ove programe, a zatim odlučili da ih vrate. Komande izgledaju ovako:

Get-AppXPackage | Foreach (Add-AppxPackage -DisableDevelopmentMode -Registrirajte “$($_.InstallLocation)\AppXManifest.xml”)

Ako pokrenete ovu komandu, zanemarite crvena upozorenja i kada se komanda završi, ponovo pokrenite računar; svi prethodno instalirani programi u Windows 10 će se pojaviti na svojim mjestima.

Evo kako ova komanda funkcionira. Get-AppXPackage provjerava sve pakete aplikacija u korisničkom profilu. Čak i ako izbrišete aplikaciju, ona ostaje na listi korisničkih profila.

Cmdlet Get-AppXPackage vraća objekat Ime vrste Microsoft.Windows.Appx.PackageManager.Commands.AppxPackage, što uključuje puno ime paket aplikacije i lokaciju odgovarajuće XML manifest datoteke. Ako pokrenete cmdlet get-appxpackage, vidjet ćete dugu listu paketa aplikacija. Snimak ekrana prikazuje opis Xbox aplikacije.

Cmdlet Za svaki petlje kroz svaki objekat AppXPackage tako što ćete ih poslati u cmdlet Add-AppxPackage. Prema dobiti pomoć Za Add-AppxPackage, postoje dva ključna prekidača:

  • Prekidač -Registruj se koji se koristi za registraciju postojećih instalacija aplikacijskih paketa, možete postaviti parametre DisableDevelopmentMode I Registrirajte se
  • Prekidač -DisableDevelopmentMode govori Windows-u da ponovo registruje postojeći paket aplikacija koji je onemogućen, neregistrovan ili oštećen.

linija " $($_.InstallLocation)\AppXManifest.x ml" opisuje gdje se datoteka nalazi manifest.xml. Ako pogledate fajlove AppXManifest.xml, vidjet ćete složenu listu ID-ova aplikacije, izvršnih datoteka i veliki broj vizuelnih elemenata povezanih s aplikacijom.

Nakon ponovnog pokretanja, svi dodani paketi aplikacija se preuzimaju i instaliraju sa Windows prodavnica Store.

PowerShell je alternativna komandna linija sa opsežnom funkcionalnošću. Mnogi vlasnici računara koji su dobro upućeni sistemski procesi, zanimaju se za mogućnosti korištenja na Windows 10 i prethodne verzije ovaj softver za promjenu specifičnih procesa i postavki računara za sebe.

Nema ništa komplikovano u korištenju PowerShell-a. Samo slijedite sve upute u ovom članku i uspjet ćete.

Ako niste stručnjak za ovu temu, tek počinjete proučavati komandne linije i radnje koje se u njima mogu izvesti, bit će vam korisno znati odgovore na glavna pitanja o korištenju takve aplikacije. Na primjer, kako pokrenuti Windows PowerShell ISE Windows 10 i pisati i raditi sa skriptama.

Kako otvoriti PowerShell?

Ovo se može uraditi u nekoliko na sljedeće načine:

  • - aplikaciju ćete pronaći u općoj listi komponenti pod slovom W.
  • Koristeći pretragu na traci zadataka - otvorite je i unesite riječ PowerShell za pretraživanje.
  • Pomoću izbornika "Run" pokrenite ga kombinacijom Win + R i napišite naziv uslužnog programa, nakon čega će se naći u sistemu.
  • U Commanderu postavite PowerShell akciju - ali trebate znati da ćete raditi s aplikacijom kroz već pokrenutu liniju, a ne u zasebnom prozoru.
  • IN Windows postavke Odaberite Svojstva trake zadataka i Start Menu. Na kartici "Navigacija" potvrdite okvir pored "Zamijeni" komandna linija PowerShell..." Sada možete omogućiti uslužni program pomoću kombinacije Win+X.

Kako napisati i pokrenuti skripte?

Kako kreirati PowerShell skriptu i pokrenuti je? To se jednostavno može učiniti u notepadu - koristeći ga, naznačite komande koje su vam potrebne u novom dokumentu. Zatim ga sačuvajte, ali promijenite format u .ps1 - ovo je ekstenzija koju imaju datoteke ovog sistemskog uslužnog programa.

U samoj aplikaciji možete napisati skripte na sljedeći način:

  • Pokreni ga.
  • Kliknite na stavku "Kreiraj".
  • Ili kliknite na “File” i odaberite “Create” sa liste koja se pojavi.
  • Napišite sve naredbe koje treba izvršiti, sačuvajte datoteku.

Skripte se i dalje mogu pisati i uređivati ​​u FAR Manager-u, ali se ne mogu direktno koristiti u takvoj aplikaciji, jer prikazuje fajlove ovog tipa kroz standard cmd linija. Međutim, druge radnje se izvode na isti način kao u "nativnom" uslužnom programu.

Skriptu možete pokrenuti na sljedeći način:

  1. Prijavite se na PowerShell kao administrator.
  2. Koristite naredbe cd da odredite lokaciju potrebne datoteke. Na primjer, e: cd\ cd work .\ naziv datoteke. Ps1, ili e: \work\filename.ps1
  3. U ovom slučaju e: je ime tvrdi disk gdje se datoteka nalazi.
  4. Pritisnite Enter.

Program će vam definitivno pokazati poruku sa tekstom “Datoteka ___ .Ps1 ne može se učitati jer je izvršavanje skripte zabranjeno na ovom sistemu...” kada prvi put pokrenete naredbu. Činjenica je da je Windows opremljen zaštitom od smetnji zahvaljujući programerima, tako da niko od korisnika po defaultu nema pristup za obavljanje takvih radnji. Ali ovo ograničenje se može vrlo lako zaobići.

Kako? Tekst koji se pojavljuje sa greškom će preporučiti da unesete naredbu get-help about_signing da biste dobili više informacija. Možete slijediti ove upute ili koristiti kombinaciju Set-ExecutionPolicy remotesigned - nakon što je unesete, bit će potrebna potvrda, a ograničenje će biti uklonjeno.

Ostala pitanja o upotrebi

Mnogi ljudi imaju pitanje: kako saznati verziju PowerShell-a? Da biste to učinili, učinite sljedeće:

  1. Unesite $PSVersionTable.
  2. Ako ovo ne vodi ničemu, onda imate verziju 1.0 - za to postoji naredba $host.version.
  3. U suprotnom će se pojaviti detaljne informacije o tome koja je verzija aplikacije instalirana na računaru.

Prošlo je više od godinu dana od objavljivanja Windows 7 i Server 2008.

programeri, administratori sistema a napredni korisnici su pronašli mnoge upotrebe za plavi prozor, slično komandnoj liniji.

Većina korisnika početnika čak i ne zna šta je PowerShell (PS).

Ali skripte za PowerShell vam omogućavaju da automatizujete skoro 100% radnji i skripti koje se izvode u operativni sistem preko komandne linije i grafičkog interfejsa.

Hajde da se upoznamo sa glavnim mogućnostima ovog programa, obraćajući više pažnje na funkciju kreiranja i pokretanja skripti (firmvera).

Postoji bezbroj priručnika i dokumentacije za program, uključujući i ruski. Svrha članka– pružiti korisniku konceptualno znanje, ažurirati, ali vrijedi li se pobliže upoznati s tumačem i izvođenjem skripti u njemu, svatko će odlučiti za sebe.

Šta je Windows PowerShell?

PowerShell– tumač baziran na .NET Framework-u, opremljen sopstvenim skript jezikom.

Prvi znači da radi u tekstualni mod: unesete komandu, pokrenete je i na ekranu vidite rezultat njenog izvršenja.

Kao što je to bilo u MS-DOS-u i starijim verzijama UNIX-a.

Drugi značajno pojednostavljuje, ubrzava i automatizuje administraciju i održavanje sistema, aplikacija, procesa i povezanih usluga od strane administratora i običnih korisnika.

U poređenju sa drugim prevodiocima, PS je drugačije:

  • integracija sa – omogućava vam da kreirate moćne skripte uvođenjem programskog koda u njih;
  • svi vraćeni podaci su objekti, a ne tekstualni/string podaci, što znači da se prosljeđuju drugim skriptama i obrađuju na bilo koji način.

PowerShell verzija 2 ima sledeće mogućnosti, Pogledajmo neke od njih detaljnije:

  • Sposobnost predstavljanja komandi kao cmdlet-a– pokreću se unutar interpretatora, inače se naredba izvršava u posebnom procesu.
  • Korištenje transportera– dizajnirani su za prijenos podataka s jedne komande na drugu uz zadržavanje njihove strukture i tipa.
  • Integrisani multi-stream prijenos podataka preko mreže sa određivanjem prioriteta i nastavkom veze.
  • Podrška za pozicione i imenovane parametre.
  • Pozadinski rad– asinhrono pozivanje komandi i pokretanje skripti na udaljenim mašinama.
  • Postavljanje ograničenih sesija sa udaljene klijente i pokretanje skripti na njima.
  • Moduli– način organiziranja skripti kada postanu samodovoljne i izvršavaju se u vlastitom kontejneru bez utjecaja na okruženje modula.
  • Dostupnost rukovaoca greškama.
  • Grafičko okruženje za jezik: sintaksa, debuger, isticanje, automatsko dovršavanje komande sa podrškom za Unicode i bookmarks.
  • Dodavanje tačaka prekida linijama, komande, operacije i varijable za otklanjanje grešaka u skripti.
  • Blokirani i međulinijski komentari.
  • Podrška za kreiranje alijasa za neke cmdlete, koje se pretvaraju u obične naredbe u trenutku izvršavanja.
  • Kreiranje ograničenih sesija, gdje možete izvršiti strogo određenu listu naredbi i još mnogo toga.

PowerShell izvorni kod dostupan svima: Svaki član zajednice može slobodno kreirati vlastite ekstenzije kako bi povećao funkcionalnost tumača komandne linije.

Možete početi savladavati integrirani skriptni jezik bez ikakvih vještina programiranja.

Malo je vjerovatno da ćete moći stvoriti složeni scenarij, ali gotovo svi će moći izvoditi niz primitivnih radnji.

Iako, bez poznavanja osnovnih koncepata PowerShell-a, malo je vjerovatno da ćete moći bilo što učiniti u prozoru tumača naredbi. Počnimo s njima.

Cmdlets

Cmdlets– neobične PS komande, iza kojih se kriju razne funkcije. Komande ugrađene u interpreter implementirane su na principu glagol-imenica, na primjer Get-Process (dobivanje liste procesa). Ovo rešenje vam omogućava da razumete suštinu komande samo iz njenog naziva (na engleskom).

Neki cmdleti podržavaju primanje/prenos podataka i nizova informacija uz očuvanje njihove strukture i tipa. Ovo radi na principu transportera (o tome će biti reči u sledećem odeljku). Bez obzira na to, cmdleti se pokreću i obrađuju objekte po redu.

Za implementaciju cmdlet-a, mogu se koristiti svi podržani .NET API-ji kreirani na bilo kojem .NET jeziku.

Tako se korisniku daje pristup određenim funkcijama programa.

Cmdlete mogu dobiti pristup potrebnim informacijama direktno ili putem jedinstvenih putanja (slova pogona i putanje direktorija).

Pomoću cmdlet-a možete raditi sa objektima sistem podataka i prodavnice certifikata, instalirane aplikacije i usluge.

Konvejer

Kada kreirate ne baš primitivne skripte ili da izvršite bilo kakve operacije sa podacima dobijenim kao rezultat skripte, ponekad morate izvršiti i neke radnje.

Za ovo postoji transporter. Kao iu UNIX-u, on kombinuje komande tako što prosleđuje izlaz jednog cmdleta u ulaz drugog, nepromenjen, čuvajući njegov tip.

U ovom slučaju nije potrebno raščlanjivanje informacija po kontejneru ili znak po znak.

Prenesene informacije mogu također uključivati ​​funkciju. Nakon završetka rada kombinovane komande, funkcija pretvaranja informacija u tekstualni prikaz(pretvaranje podataka u nizove) korištenjem oblikovanja teksta.

Skripte

Unatoč činjenici da vam ljuska omogućava automatizaciju mnogih radnji, naredbe morate unositi ručno, što nije baš zgodno.

Pogotovo kada se iste operacije moraju izvoditi iznova i iznova.

A ne možete bez ljudskog faktora: greške u kucanju, greške, slučajno pritiskanje tastera prilikom pisanja redova koda, ispravljanje ili ponovno kucanje reda zahteva lakši pristup korisniku.

Za izvođenje monotonih lanaca radnji u PS-u implementiraju se skripte - tekstualne datoteke sa nizom komandi unutar koje su razumljive interpretatoru.

Skripte u PowerShell-u dodatno će pojednostaviti i automatizirati rad na PC-u i njegovo održavanje, posebno ako skripta sadrži grane, uslove, logičke operacije i ciklusi.

Ali ovdje “nije zlato sve što blista”: pisanje vlastitog scenarija ili postavljanje gotovog (iako ga malo prilagodite svojim ciljevima) neće ići tako lako.

Ako uMicrosoftbilo je dozvoljeno bez obzira na nevolje napravio skripte zaPowerShell , koju su napisali prevaranti i zlobnici u sebične ili huliganske svrhe.

Da biste pokrenuli na Windows PS, morate proći njegovu kontrolu pokretanja.

Ako ne uspije, a skripta se mora izvršiti, morat ćete promijeniti konfiguraciju objekata odgovornih za sigurnost makronaredbi.

Prije korištenja skripti

Prilikom korištenja VBS-a javljaju se brojni problemi kojih su se PowerShell programeri u potpunosti riješili ako se sigurnost skripte ne smanji da bi se zadovoljili zahtjevi korisnika skripte ili riješili problemi vezani za nivo sigurnosti operativnog sistema.

Pokretanje preuzete skripte na računaru korisnika je jednostavna i efikasna opcija za širenje zlonamjernog softvera. softver ili krađu ličnih podataka od strane napadača.

Sve se dešava zbog osnovnog neznanja sadržaja skript fajla (ps1) i želja da brzo riješe svoje probleme na račun rada drugih. Objekti koji kontrolišu nivo sigurnosti izvršavanja skripte stvaraju okruženje u kojem je nemoguće pokrenuti skriptu.

Namjerno pokretanje makronaredbi se dešava nakon promjene nivoa sigurnosti, ako korisnik da zeleno svjetlo, shvati šta radi i sa sigurnošću zna šta se nalazi u *.ps1 datoteci.

Budući da je sigurnosna konfiguracija nezgodna za ljude koji trebaju implementirati i pokrenuti vlastite skripte, moguće je promijeniti konfiguraciju.

Ovdje možete ili smanjiti zaštitu na minimum ili mudro manevrirati između mogućnosti otvaranja rupa za prodor i lakoće rada sa PowerShell-om.

Ljuska ima tri nivoa sigurnosti:

  • fajlovi sa ekstenzijom ps1 nisu identifikovani od strane sistema kao izvršni i označeni su kao nepoznati ili tekstualni (dvostrukim klikom otvaraju se u podrazumevanom uređivaču teksta koji se koristi na računaru);
  • Shell vam omogućava da izvršite skripte nakon što navedete njihovu punu putanju, datoteke skripta u trenutnom direktoriju se ne pretražuju, što onemogućuje izvršavanje makronaredbi koje se nalaze u trenutnom direktoriju;
  • pokretanje ugrađene skripte Politike izvršavanja, odgovoran za dodavanje tražene na listu dozvoljenih skripti.

Nemojte ni razmišljati o promjeni konfiguracije, spuštajući ga barem na drugi nivo, bez upoznavanja sa osnovamaPowerShelldok ne počnete barem površno razumijevati sadržaj *.ps1.

Tu je i koncept politike izvršavanja, kreiran da spriječi slučajno izvršavanje skripti. Postoji pet postavki politike pokretanja:

  • ograničeno – instaliran prema zadanim postavkama, izvršavaju se samo skripte koje potpisuje Microsoft, što vam omogućava da dobijete informacije o hardveru i školjka kompjuter;
  • sa potpisom izbrisane datoteke – možete izvršiti sve makroe, ali datoteke koje se šalju poštom moraju biti potpisane;
  • vlasništvo digitalni potpis iz pouzdanog izvora– sve potpisane skripte se izvršavaju;
  • neograničeno– pokrenite sve makroe;
  • zaobići– namijenjeni su programerima koji kreiraju vlastiti sigurnosni sistem, umjesto da koriste onaj koji se nalazi u ljusci.

Možete provjeriti trenutno stanje politike izvršavanja pomoću naredbe “Get-ExecutionPolicy”.Bez obzira na sigurnosnu politiku, korisnik neće moći pokrenuti skriptu koja sadrži komande za koje nema dovoljno privilegija da ih izvrši.

Pokretanje PowerShell-a

Vrijeme je da pređemo s teorije na praksu. Dakle, za izvršavanje skripte potrebno je da dobijete digitalni potpis ili (druga opcija je jednostavnija).

Postoji nekoliko načina da otvorite PowerShell prozor.

Predstavlja se u dva oblika:

  • klasična konzola;

  • PowerShell ISE - dodaje podršku za tabove, sintaksu, kontekstualnu pomoć, kontekstualne i glavne menije, što uvelike olakšava rad u interpretatoru.

Počni

Najlakši način da pozovete PS je preko Start.

  1. Otvorite meni(u Windows 7 kliknite na „Svi programi“).
  2. Idite u Windows PowerShell direktorij i kliknite na željenu ikonu.

Rice. 4 – Pokrenite PS preko Start

PS možete pozvati i putem integrisani sistem pretraživanja.

Komandni tumač

Ko voli nestandardne i brze načine pokrenuti, koristite prozor “Run”. Otvara se istoimenim gumbom u Startu i kombinacijom tipki Win + R.

U dijalog box-u pišemo "powershell" i pritisnite “Enter”.

Win+X

U Windows 10, PS se može pozvati iz WinX menija. Činjenica je da je po defaultu klikom na naredbu "komandna linija" otvorite CMD. Može se zamijeniti PowerShell-om.

Otvorite “Svojstva” na traci zadataka, na kartici “Navigacija” stavite kvačicu pored jedine opcije i sačuvajte postavke.

PowerShell možete pozvati kroz komandnu liniju tako što ćete u njega napisati "powershell" ili pokrenuti izvršnu datoteku duž putanje: %WINDIR%\ System32\ WindowsPowerShell\v1.0 za 32-bitne sisteme i na %WINDIR%\ syswow64\ WindowsPowerShell\v1.0 za 64-bit Windows bilo koji urednici.

Rice. 8 – Pokrenite PS iz direktorija u kojem je pohranjena njegova izvršna datoteka

Postavljanje sigurnosne politike

Malo lijevo– dozvoliti PowerShell-u da izvršava skripte. Unesite naredbu “Set-ExecutionPolicy RemoteSigned” i pritisnite “Y”.

To je sve. Sada možete pokrenuti bilo koje cmdlete i skripte. Pokušajmo, na primjer, prikazati listu aktivnih procesa izvršavanjem "Get-Process".

Pokretanje skripti

Možete kreirati skripte u bilo kojem (bolje je koristiti Win, ili nešto slično, sa sintaksom ili podrškom za validaciju) ili u programu PowerShell ISE.

Potonji pruža zgodan pristup cmdletima, mogućnost pokretanja, otklanjanja grešaka i spremanja skripti.

Pretpostavimo da ste napisali svoju prvu skriptu (ovo je za dobijanje liste pokrenutih procesa), sačuvali je preko menija "Datoteka" i potrebno je da je pokrenete. To se radi na tri načina:

1 Punu putanju do skripte pišemo u PowerShell-u (ili ISE);

Rice. 13 – Pokretanje skripti iz prozora PowerShell ISE

Bitan tako da nema razmaka na putu do datoteke!

PowerShell– moćan alat za pojednostavljenje rutinskih operacija u Serveru 2008 i novijim. Važna prednost PowerShell-a su skripte i dostupnost verzija programa iz grafički interfejs PS ISE. Komande u njemu predstavljene su u obliku cmdlet-a, što će omogućiti upoznavanje sa ljuskom i razumijevanje značenja svake naredbe. Sigurnosna politika neće dozvoliti početniku da ošteti svoj računar skripte primljene iz nepoznatih izvora, i način otklanjanja grešaka, kreiranje vlastitih cmdlet-a, funkcija i mehanizama za rukovanje greškama otvaraju neograničene mogućnosti za programere i administratore.