Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • OS
  • Kako pisati i kako pokrenuti PowerShell skripte.

Kako pisati i kako pokrenuti PowerShell skripte.

Prošlo je mnogo godina od objavljivanja Windows 7 i Server 2008.

Programeri, sistemski administratori i napredni korisnici pronašli su mnoge upotrebe za plavi prozor, slično komandnoj liniji.

Korisnici početnici, uglavnom, ne znaju ni šta je PowerShell (PS).

Ali skripte za PowerShell mogu automatizovati skoro 100% radnji i skripti koje se izvršavaju u operativnom sistemu preko komandne linije i grafičkog interfejsa.

Hajde da se upoznamo sa glavnim karakteristikama ovog programa, obraćajući više pažnje na funkcije kreiranja i pokretanja skripti (mikroprograma).

Postoji bezbroj priručnika i dokumentacije za program, uključujući i ruski. Cilj članka- dati korisniku konceptualno znanje, ažurirati, a da li se isplati upoznati interpretator i izvršavanje skripti u njemu, svako će odlučiti samostalno.

Šta je Windows PowerShell?

PowerShell- interpretator baziran na .NET Frameworku, opremljen vlastitim jezikom za skriptiranje.

Prvi znači da radi u tekstualnom režimu: unesete naredbu i vidite rezultat njenog izvršenja na ekranu.

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

Drugi uvelike pojednostavljuje, ubrzava i automatizuje administraciju, 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 ugrađivanjem programskog koda u njih;
  • svi vraćeni podaci su objekti, a ne tekst/string podaci, što implicira njihov prijenos u druge skripte i bilo kakvu obradu.

PowerShell verzija 2 ima sledeće mogućnosti, od kojih ćemo neke detaljnije razmotriti:

  • Sposobnost predstavljanja komandi kao cmdlet-a- pokreću se unutar interpretatora, inače se naredba izvršava u posebnom procesu.
  • Korištenje cjevovoda- namijenjeni su za prijenos podataka s jedne komande na drugu uz očuvanje njihove strukture i tipa.
  • Integrisani višenitni prijenos podataka preko mreže sa postavljanjem prioriteta i obnavljanjem 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 udaljenim klijentima i izvršavanje skripti na njima.
  • Moduli- način organizovanja skripti kada postanu samostalne i pokreću se u sopstvenom kontejneru bez uticaja na okruženje modula.
  • Prisustvo rukovaoca greškama.
  • Grafičko okruženje za jezik: sintaksa, debuger, isticanje, automatsko dovršavanje naredbi uz Unicode i podršku za oznake.
  • Dodavanje tačaka prekida linijama, komande, operacije i varijable za otklanjanje grešaka u skriptama.
  • Blokirajte i pretplatite komentare.
  • Podrška za kreiranje aliasa za neke cmdletove koje se konvertuju u redovne komande u trenutku izvršenja.
  • 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 vještina programiranja.

Malo je vjerovatno da će biti moguće stvoriti složeni scenarij, ali gotovo svi će uspjeti izvesti niz primitivnih radnji.

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

Cmdlets

Cmdlets- vrsta PS komandi, iza kojih se kriju razne funkcije. Komande ugrađene u interpreter implementiraju se po principu "glagol-imenica", na primjer Get-Process (dobivanje liste procesa). Ovo rješenje vam omogućava da shvatite suštinu naredbe već iz njenog naziva (na engleskom).

Neki od cmdlet-a podržavaju primanje/prenos podataka i nizova informacija uz očuvanje njihove strukture i tipa. Radi kao cevovod (o tome ćemo govoriti u sledećem odeljku). Bez obzira na to, cmdleti se pokreću i obrađuju objekte po strogom redoslijedu.

Bilo koji podržani .NET API napisan na bilo kom od .NET jezika može se koristiti za implementaciju cmdlet-a.

Tako se korisniku daje pristup specifičnim funkcijama programa.

Cmdlete mogu pristupiti potrebnim informacijama direktno ili putem jedinstvenih staza (slova pogona i putanje direktorija).

Koristeći cmdlete, možete raditi sa sistemima datoteka i objektima spremišta certifikata, instaliranim aplikacijama i uslugama.

Konvejer

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

Za ovo postoji transporter. Kao iu UNIX-u, on spaja komande tako što prenosi izlaz jednog cmdleta na ulaz drugog, nepromijenjen, čuvajući njegov tip.

Ovo ne zahtijeva nikakav kontejner ili raščlanjivanje informacija karakter po znak.

Struktura prenesene informacije može uključivati ​​funkciju. Nakon završetka rada kombinovanih naredbi, poziva se funkcija pretvaranja informacija u tekstualni oblik (pretvaranje podataka u nizove) pomoću oblikovanja teksta.

Skripte

Unatoč činjenici da ljuska može automatizirati mnoge radnje, komande morate unositi ručno, što nije baš zgodno.

Pogotovo kada se iste operacije moraju izvoditi kontinuirano.

A ne možete bez ljudskog faktora: greške u kucanju, greške, nehotično pritiskanje tastera prilikom pisanja redova koda, ispravljanje ili ponovno kucanje reda zahtevaju pristupačniji pristup.

Za obavljanje monotonih lanaca radnji u PS-u implementiraju se skripte - tekstualne datoteke sa nizom komandi razumljivim za tumača unutra.

Skriptovanje u PowerShell-u će dodatno pojednostaviti i automatizovati rad i održavanje računara, posebno ako skripta sadrži viljuške, uslove, logičke operacije i petlje.

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

Ako uMicrosoftbilo je dozvoljeno, koliko nevolja napravio skripte zaPowerShell koje su napisali prevaranti i zlobnici u plaćeničke ili huliganske svrhe.

Da biste pokrenuli u Windows PS-u, morate proći kroz njegovu kontrolu pokretanja.

Ako ne uspije, a skripta treba da se izvrši, morat ćete promijeniti konfiguraciju objekata odgovornih za sigurnosne makroe.

Prije korištenja skripti

Prilikom rada VBS-a javljaju se brojni problemi kojih su se PowerShell programeri u potpunosti riješili, ako se ne smanji sigurnost skriptiranja kako bi se zadovoljili zahtjevi korisnika za skriptiranjem ili kako bi se riješili problemi vezani za nivo sigurnosti operativnog sistema.

Pokretanje preuzete skripte na računaru korisnika je jednostavan i efikasan način distribucije zlonamernog softvera ili krađe ličnih podataka od strane sajber kriminalaca.

Sve se dešava zbog elementarnog neznanja sadržaja skript fajla (ps1) i želju da brzo riješe svoje probleme na račun rada drugih. Objekti koji kontroliraju nivo sigurnosti skriptiranja 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.

Zbog neugodnosti konfiguriranja zaštite za osobe koje trebaju implementirati i izvršiti vlastite skripte, moguće je promijeniti konfiguraciju.

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

Ljuska ima tri nivoa sigurnosti:

  • fajlovi sa ekstenzijom ps1 nisu identifikovani od strane sistema kao izvršni i označen kao nepoznat ili tekst (otvara se dvostrukim klikom u uređivaču teksta koji se podrazumevano koristi na računaru);
  • ljuska vam omogućava da izvršite skripte nakon što navedete punu putanju do njih, datoteke skripte 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 potrebnih skripti na listu dozvoljenih skripti.

Nemojte ni pomišljati na promjenu konfiguracije, spuštajući ga barem na drugi nivo, bez upoznavanja sa osnovamaPowerShellsve dok ne počnete barem površno razumijevati sadržaj *.ps1.

Postoji i koncept politike izvršavanja koja je dizajnirana da spreči slučajno izvršavanje skripti. Postoji čak pet postavki politike pokretanja:

  • ograničeno - podrazumevano instalirane, izvršavaju se samo skripte potpisane od strane Microsofta koje omogućavaju dobijanje informacija o hardverskoj i softverskoj ljusci računara;
  • potpisane izbrisane datoteke- svi makroi se mogu izvršiti, ali datoteke koje se šalju poštom moraju biti potpisane;
  • digitalno potpisan iz pouzdanog izvora- sve potpisane skripte se izvršavaju;
  • neograničeno- pokretanje bilo kojeg makroa;
  • zaobići- namijenjeni su programerima koji kreiraju vlastiti sigurnosni sistem, a ne koriste onaj koji je predstavljen u ljusci.

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

Pokretanje PowerShell-a

Vrijeme je da pređemo s teorije na praksu. Dakle, da biste izvršili skripte, morate dobiti digitalni potpis ili (druga opcija je jednostavnija).

Postoji nekoliko načina da se pozove PowerShell prozor.

Predstavlja se u dva oblika:

  • klasična konzola;

  • PowerShell ISE - dodaje podršku za tabove, sintaksu, pomoć u kontekstu, kontekst i glavne i 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 na Windows PowerShell direktorij i kliknite na željenu ikonu.

Rice. 6 - Pokretanje PS-a kroz dijalog Run

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" trake zadataka, u kartici "Navigacija" stavite kvačicu pored jedine opcije i sačuvajte postavke.

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

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

Koristeći R skripte, možete brzo i besplatno prikupiti podatke iz API-ja raznih servisa ili platformi za oglašavanje i upisati ih u bazu podataka. Ali ako redovno koristite skripte, ima li smisla svaki put ih pokretati ručno?

Objasnit ću kako postaviti pokretanje R skripte u redovnim intervalima u operativnom sistemu Windows.

1. Kako da dodam putanju do R konzole u varijablu okruženja PATH?

PATH je varijabla okruženja za operativne sisteme slične Unixu, DOS, OS/2 i Microsoft Windows, što je skup direktorija u kojima se nalaze izvršne datoteke. U osnovi, svaki pokrenut proces ili korisnička sesija ima svoju varijablu PATH.

Ovaj priručnik se odnosi na operativne sisteme Windows 8 i 10, ali lako možete pronaći detaljne vodiče za bilo koju drugu verziju Windows-a.
1.1. U redu "Pretraga" pronađite "Sistem (Kontrolna tabla)" i kliknite na vezu "Napredne postavke sistema".

1.2. U prozoru sa svojstvima sistema kliknite na dugme "Varijable okruženja...".

1.3. U odjeljku Varijable okruženja kliknite na varijablu PATH i kliknite na Uredi. Ako varijabla PATH ne postoji, kliknite na Novo.

1.4. Dodajte putanju do foldera sa fajlom “ R.exe».

Bat datoteka je u suštini slična exe datoteci, ali je njen kod jednostavniji i sastoji se od nekoliko komandnih linija.

Prilično je lako kreirati bat fajl. Možete napisati naredbu za pokretanje u običnu tekstualnu datoteku s ekstenzijom TXT, spremiti je i promijeniti ekstenziju u " .bat". Opisaću drugi način - kreiranje bat datoteke pomoću besplatnog Notepad ++.

2.1. Otvorite Notepad ++ (možete ga preuzeti sa linka).

2.2. Unesite sljedeću naredbu:

@echo off R CMD BATCH C: \ R \ myscript.R

Tim " @echo off"Onemogućuje prikaz poruka na komandnoj liniji kada je skripta pokrenuta, ovu naredbu možete promijeniti u" @echo on„I posmatrajte izvršavanje skripte u toku njenog rada.

Tim " R CMD BATCH"Počinje izvršavanje R skripte.

U drugom redu, umjesto “ C: \ R \ myscript.R " napišite putanju do vaše datoteke R skripte.

Kao rezultat, fajl će izgledati ovako:

2.3. Sačuvajte kreiranu tekstualnu datoteku sa BAT ekstenzijom. Da biste to učinili, u izborniku Notepad ++ odaberite "Datoteka" - "Spremi kao" - "Batch datoteka (bat, cmd, nt)".

Ako ne želite da se prozor komandne linije pojavi na ekranu kada se R-skripta automatski pokrene, onda kompajlirajte svoj bat-fajl u exe - u ovom slučaju, skripta će raditi u pozadini i neće vas ometati.

3.1. Preuzmite besplatni uslužni program "Bat To Exe Converter" sa veze.

3.2. Odredite bat fajl koji će se kompajlirati, kao i putanju i ime budućeg exe fajla.

3.3. U području Vidljivost aplikacije postavite prekidač na Nevidljiva aplikacija.

3.4. Postavite ikonu za svoj fajl ako želite.

Da biste instalirali ikonu, idite na karticu "Informacije o verziji" i pomoću dugmeta "..." odaberite željenu ikonu u polju "Datoteka ikone".

Kao ikonu možete koristiti bilo koju sliku u ICO formatu ili je nacrtati sami u besplatnom mrežnom uređivaču.

Kliknite na dugme Compile.

4. Konfigurirajte Windows Task Scheduler

Posljednji korak konfiguracije je dodavanje zadatka u Windows Task Scheduler.

Windows Task Scheduler je ugrađeni uslužni program (analogno Linux CRON-u), s kojim možete zakazati u određeno vrijeme pod određenim uvjetima:

  • pokretanje bilo kojeg programa;
  • slanje e-pošte;
  • prikazati određenu poruku.

4.1. Da otvorite planer zadataka, kopirajte putanju " % windir% \ system32 \ taskschd.msc / s».

4.2. Na desnoj strani planera odaberite "Kreiraj zadatak...".

4.3. Na kartici Općenito u dijaloškom okviru Kreiraj zadatak unesite naslov i, ako je potrebno, kratak opis.

4.4. Na kartici "Triggers" konfigurirajte raspored pokretanja skripte: kliknite na "Kreiraj" i postavite, na primjer, da će se skripta ponavljati svakog ponedjeljka u 12:45.

Ovim se završava proces konfigurisanja planiranog pokretanja R skripti. Ako ste sve uradili ispravno, novi zadatak će se pojaviti na listi.

Zaključak

Uz ovaj vodič, konfiguracija automatske reprodukcije će trajati manje od deset minuta i uštedjet će vam vrijeme u budućnosti.

Algoritam akcija:

  1. U varijablu okruženja PATH upišite putanju do R konzole.
  2. Kreirajte R skriptu koja će izvršiti željene radnje (na primjer, sačuvati rezultat u CSV datoteku ili napisati u bazu podataka).
  3. Kreirajte bat-fajl, koji će sadržavati putanju do R skripte.
  4. Kompajlirajte svoj bat fajl u exe tako da radi u pozadini i da ne prekida vaš rad.
  5. U Windows Task Scheduler, dodajte zadatak koji se ponavlja za pokretanje bat datoteke i postavite određeni vremenski interval.

Obrada ogromnih količina podataka, njihovo agregiranje i prijenos u bilo koju bazu podataka je jednostavno i brzo, ako ste pravilno organizirali svoj posao.

Ako ste tek nedavno krenuli na put programiranja, a niste ni pokušali da se poigrate sa instaliranim operativnim sistemom, onda manipulisanje skriptama može da pokrene razumna pitanja neophodnosti i pogodnosti. Međutim, čak i ako izostavite jednostavnu činjenicu da vam pomažu da bolje shvatite kako će OS funkcionirati u budućnosti pri izradi aplikacija, skriptiranje može biti izuzetno korisna vještina.

Okrenut ćemo se PowerShell-u da izvršimo sljedeće skripte. Svaki sistem administrator (po profesiji ili u duši) zna njegove mogućnosti i povremeno ga koristi, za sve ostale to je samo interfejs komandne linije ili strana reč. Na popularnim resursima možete pronaći mnogo ideja o tome kako koristiti PowerShell za zabavu i posao, ali ovdje ćemo pogledati samo jednostavne skripte koje će vam pomoći da ubrzate.

Isključite i ponovo pokrenite

Dakle, najjednostavnija operacija je da isključite računar. Otvaramo svesku, registrujemo se:

isključivanje -s -t 0

Sačuvajte fajl kao * .cmd (* je naziv vašeg fajla, na primer shutdown.cmd) i ne zaboravite da izaberete „sve datoteke“ u tipu. Sve, izvršna datoteka pri pokretanju će isključiti vaš računar. “-S” u ovom slučaju znači isključivanje, zamijenite sa “-r” - ponovno pokretanje. “-T” je tajmer, mi smo ga postavili na 0 sekundi, ali ako ga postavite na 60, isključuje se nakon 60 sekundi.

Uklonite nepotrebno

U raznim sklopovima unapred instaliranim na računaru ili laptopu, možete naići na mnogo apsolutno nepotrebnih paketa aplikacija. Uklanjanje pomoću skripte je jednostavno kao ljuštenje krušaka:

get-appxpackage -name * APPNAME * | remove-appxpackage

Kao što možete zamisliti, * APPNAME * je naziv nezanimljivog dodatka. Da, ove pakete možete ukloniti na standardni način ili putem posebnih programa, ali možete kreirati skriptu koja će ih ukloniti jednim dvostrukim klikom.

Mi upravljamo procesima

Postoje dvije korisne komande u PowerShell-u koje vam mogu pomoći da se nosite s vjetrenjačama (procesima koji usporavaju performanse). Možete ih prikazati na ekranu jednostavnim pisanjem:

ili informacije o određenoj usluzi sa kodnim nazivom * IME * (ovo mjesto treba biti naziv usluge od interesa):

Get-Service * NAME *

Ali to se može učiniti u upravitelju zadataka, ali može biti zaista korisno kreirati datoteku koja bi na klik zatvorila sve procese sa povećanom potrošnjom resursa (pretraživači, antivirusi itd.). Da biste to učinili, koristite naredbu Stop-Service:

Stop-Servis -Naziv * ANTIVIRUS *

Stop-Service -Naziv * BROWSER *

Nazivi zamjene su navedeni u * *.

Preimenovanje grupe fajlova

Još jedan neugodan problem: kopirali ste slike sa fotoaparata ili telefona. Ogromna gomila fotografija koje su nazvane na isti način kao HGNMD034, gdje je HGNMD naziv uobičajenog direktorija koji kombinira datoteke, na primjer, snimljene u jednom danu. Da biste učinili nazive ovih datoteka ljepšim ili da biste mogli kombinirati nekoliko foldera bez kronološke zabune zbog imena, možete koristiti skriptu za grupno preimenovanje:

$ path = "$ comp \ desktop \ putovanje \ rusija"
$ filter = "* .jpg"
get-childitem -path $ path -filter $ filter |
preimenuj-stavku -novo ime ($ _. ime -zamijeni "HGNMD", "RUSSIA")

U prvom redu, pod navodnicima, unesite tačnu putanju do datoteka. Drugi red sadrži ekstenziju datoteka koje treba promijeniti. U posljednjem redu umjesto “HGNMD” - općenito u nazivima datoteka koje treba zamijeniti nečim, umjesto "RUSSIA" - ime koje želite dodijeliti. Ako se ova skripta ponovo sačuva kao izvršna datoteka, tada će vam slične operacije istog tipa oduzeti samo nekoliko sekundi vašeg vremena.

U potrazi za fajlovima

Još jedan jednostavan PowerShell zadatak je pronaći datoteke u direktoriju. U ovom slučaju razmislite o potrazi za log fajlovima:

Get-Childitem C: \ Windows \ *. Log

Ili malo složeniji primjer, kada će se pretraga vršiti i u podmapama:

Get-ChildItem C: \ Windows \ * -Include * .log -Recurse -Force

Ovo je malo ispravniji i potpuniji zapis, gdje “Include” - označava dio koji se traži, “Recurse” - za pretraživanje u poddirektorijumima, “Force” - pretraga uključuje sistemske i skrivene datoteke.

referenca

Dakle, manje-više smo shvatili opšte principe funkcionisanja PowerShell-a. Ako nešto nije jasno - pogledajte informacije o pomoći kako slijedi:

Get-Help Services

Ovo je naredba koja će prikazati sve dostupne komande sa kratkim opisom. Želite više detalja? Ništa lakše:

Get-Help -Name * CMDLET *

Gdje umjesto * CMDLET * ubacite bilo koju naredbu od interesa.

Pronalaženje podataka

Sada pređimo na jednostavne skripte opisane malo složenijim naredbama. Na primjer, koristeći PowerShell, možete dohvatiti gotovo sve informacije o hardveru i dodacima. Alternativno, evo skripte za procjenu nivoa napunjenosti baterije:

Add-Type -AssemblyName System.Windows.Forms
.GetConstructor ("NonPublic, Instance", $ null, @ (), $ null) .Invoke ($ null)

Arhitektura udaljenog računarskog procesora:

Assembly.GetType ("System.Management.Automation.PsUtils"
) .GetMethod ("GetProcessorArchitecture", 40
) .Pozovi ($ null, @ ())

Ponekad je važan zadatak provjeriti administratorska prava trenutnog korisnika. Evo jednostavnog PowerShell načina:

Assembly.GetType ("System.Management.Automation.Utils"). GetMethod (
"IsAdministrator", 40) .Invoke ($ null, @ ())

Hajde da se zadržimo na ovome za sada. Kao što ste vjerovatno vidjeli, PowerShell nije najkompleksniji, ali vrlo koristan alat koji može izvoditi i najjednostavnije i prilično složene operacije. Međutim, PowerShell nije jedini alat za skriptiranje za Windows. Ali o tome više sljedeći put.

Postoji nekoliko različitih načina za pokretanje skripte, u nastavku su glavni:

  1. Pokrenite PowerShell i pokrenite skriptu u njoj (unesite putanju do datoteke i naziv datoteke, na primjer, ovako: C: \ Scripts \ test.ps1, ili idite u mapu skripte naredbom cd C: \ Scripts i pokrenite je sa naredbom. \ test.ps1) Shell se može pronaći i pokrenuti na različite načine. Jedan način je kroz start meni. Za Windows 7 - trebate otići na "Svi programi" - "Dodatna oprema" - "Windows PowerShell" i pokrenuti "Windows PowerShell" ljusku. Za Windows 10 - trebate pronaći grupu sa slovom "W" iu njoj ćete pronaći "Windows PowerShell".
  2. Pokrenite "Windows PowerShell ISE" je program - razvojno okruženje koje vam omogućava da uređujete i otklanjate greške u PowerShell skriptama, što je takođe podrazumevano zajedno sa samim PowerShell-om. Nakon što ga pokrenete, samo trebate kliknuti na dugme "Otvori" ili otići na meni Datoteka - Otvori i odabrati željenu skriptu, zatim pritisnuti F5 ili dugme "Pokreni skriptu". Na istom mjestu možete pronaći Windows PowerShell ISE kao PowerShell - u meniju "Start" ...
  3. Pokrenite standardnu ​​komandnu liniju i napiši u njemu:
    powershell -datoteka<имя_скрипта> (primjer: powershell -datoteka myscript.ps1)

Ako ranije niste pokrenuli PowerShell skripte, najvjerovatnije ćete dobiti poruku: Nije moguće otpremiti fajl<имя_скрипта>, pošto je izvršavanje skripti zabranjeno za ovaj sistem. Unesite "get-help about_signing" za više informacija. To je zbog činjenice da iz sigurnosnih razloga i kako bi se spriječilo slučajno izvršavanje zlonamjernog koda, sve skripte moraju biti digitalno potpisane.

Kako da dozvolim da se nepotpisana PowerShell skripta izvrši?

1. U PowerShell-u, prije pokretanja skripte, izvršite naredbu da omogućite izvršavanje nepotpisanih skripti za trenutnu sesiju ljuske:

Set-ExecutionPolicy RemoteSigned -Scope Proces

2. Prilikom pokretanja iz standardne komandne linije koristite parametar -executionpolicy, tj. pokrenite skriptu ovako:

<имя_скрипта>

Obje metode postavljaju politiku samo za trenutnu sesiju, dok se sigurnosna politika za izvršavanje PowerShell skripti zapisanih u registratoru neće mijenjati i ostaće ista. Ako želite promijeniti sigurnosnu politiku izvršavanja skripte "trajno", onda koristite ovu metodu:

3. Dozvolite da radi zauvek: Pokrenite PowerShell kao administrator, a zatim pokrenite naredbu:

Set-ExecutionPolicy RemoteSigned

Bilješka: Ako je skripta preuzeta s interneta, tada kako biste izbjegli zahtjev za potvrdu pokretanja, morate koristiti Bypass umjesto RemoteSigned - potpuno onemogućiti sve zahtjeve i upozorenja.

Kako da pokrenem PowerShell skriptu u pozadini?

Da biste to učinili, samo koristite parametar pokretanja -WindowStyle, koji može poprimiti sljedeće vrijednosti: Normal, Minimized, Maximized i Hidden. Dakle, da biste pokrenuli nepotpisanu skriptu u pozadini, morate pokrenuti naredbu:

powershell -executionpolicy RemoteSigned -WindowStyle Hidden -file<имя_скрипта>

Također možete dodati -NonInteractive ako želite tako da skripta ne postavlja nikakva pitanja. Tako će se skripta izvršiti nevidljivo za korisnika. Budite oprezni koristeći ovu metodu.

Pokretanje PowerShell skripte s parametrima

Zapravo, pokretanje bi trebalo biti obavljeno kao da pokrećete običan program ili bat-fajl sa parametrima. Na primjer, da biste pokrenuli skriptu s parametrima iz naredbe, možete napisati sljedeću naredbu:

powershell -executionpolicy RemoteSigned -file<имя_скрипта>param1 param2 "još jedan tekstualni parametar"

U samoj skripti ove parametre možete dobiti ovako:

Param ($ var1, $ var2, $ var3) echo $ var1, $ var2, $ var3

U PowerShell ISE, možete pokrenuti skriptu sa parametrima na isti način, koristeći komandno okno.

Kako da pokrenem PowerShell skriptu koristeći prečicu?

Postoje dva načina za postizanje ovog zadatka:

  1. Kreirajte bat/cmd datoteku u koju ćete napisati naredbu za pokretanje skripte (vidjeli ste parametre iznad)
  2. Napravite prečicu do PowerShell-a, koja se može naći u folderu c: \ Windows \ System32 \ WindowsPowerShell \ v<версия>\ i dodajte potrebne parametre u svojstva prečice u polju "Objekat".

Tako, na primjer, da biste pokrenuli powershell skriptu kada se korisnik prijavi, možete jednostavno kreirati prečicu kao što je opisano u tački 2 i postaviti je u startup. Također, kreiranje prečice na jedan od gore navedenih načina će olakšati pokretanje skripte kao administrator ili kao bilo koji drugi korisnik kao običan program.

Skriptni jezik PowerShell je prilično moćan alat za rješavanje raznih problema, ali se može koristiti ne samo za dobre stvari, već i za štetu, pa ga koristite mudro;)

Često napredni korisnici, pa čak i administratori, nakon instaliranja novog operativnog sistema, postavljanja svih vrsta zaštitnih zidova, misle da je sada sistem pouzdano zaštićen i da se možete opustiti na naslonu stolice. Ali, kada pišete skripte za ove sveže operativne sisteme, morate ih ispravno pokrenuti. Dodirujući temu skripti, odgovorićemo na često postavljana pitanja o njihovom pokretanju.

Čisto teoretski, kako pokrenuti skriptu u Windowsima u MS JScript (MyScript.js) kao Windows servis? Ako, na primjer, kreiramo odjeljak u registru i u grani. HKEY_LOCAL_MASHINE \ SYSTEM \ CurrentSontrolSet \ usluge \ MyService za kreiranje svih potrebnih parametara, biće potrebno registrovati pokretanje preko cmd CScript-a u ovim parametrima ili dvostrukim pokretanjem kao: "C: \ Windows \ System32 \ WScript.exe" ili nekako jednostavnije Ispostaviće se da je to nešto poput skrivenog načina rada, a proces wscript.exe neće biti eksplicitno prikazan u Taskmanageru.

Često, kada pišete JavaScript, postoji potreba da se automatski izvrši preuzimanje. Kako pokrenuti skriptu prilikom pokretanja?

  • na kraju js-datoteke, pozovite traženu funkciju.
  • u tekstu datoteke menu.js upišite funkciju page_load ():

Korištenje dvije metode u isto vrijeme će uvelike zakomplicirati održavanje i razumijevanje koda.

  • shell skripta - skup sistemskih naredbi napisanih u jednostavnom tekstualnom fajlu. Ovdje nema ništa posebno komplikovano, samo naredbe koje se lako mogu unijeti u komandnu liniju sistemske ljuske ili u terminal. U budućnosti će skripta biti pokrenuta bez komplikacija.
  • Ako trebate pokrenuti vbs skriptu i ako nisu napravljene nikakve promjene u rukovatelju s ekstenzijom ".vbs", onda će nakon dvostrukog klika na datoteku sa ovom ekstenzijom, skripta biti pokrenuta. Sve bi trebalo da proradi odmah. Međutim, iz grafičke ljuske, komandna linija neće samo pokrenuti vbs, to zahtijeva korištenje cscript interpretera
  • Da biste pokrenuli sql skriptu koristeći C #, potrebno je da povežete SMO sklop i definišete ServerSonnection.ExeuteNonQuery (String skript). Metoda ExcuteNonQuery () prihvata samo parametar stringa, tako da prvo morate pročitati .sql datoteku u varijablu stringa. ServerConnection.ExecuteNonQuery () postavlja zahtjev koji neće vratiti skup podataka rezultata.
  • Da biste izvršili python skriptu, morate proslediti ime skripte tumaču. Prvo pišemo u prvom redu: sintaksička greška. Zatim pišemo bez "$" - sintaksička greška. To je samo naziv datoteke - sintaktička greška. I poslednja stvar koju treba registrovati je putanja do datoteke - sintaktička greška.
  • Sada, kako pokrenuti php skriptu kroz Denwer. Većina novajlija stalno pravi jednu grešku. Čini se da je apsolutno sve urađeno kako treba, kreirane su potrebne fascikle, Denwer se ponovo pokreće i, čini se, na kraju ostaje samo nepogrešivo pokrenuti fajl u akciju. Ali ovdje se opet pojavljuje dosadna greška. Korisnik ponovo otvara datoteku jednostavno u običnom pretraživaču (bilo prevlačenjem i ispuštanjem datoteke u pretraživač ili dvostrukim klikom miša). Ove radnje se lako mogu uočiti po nazivu adrese u adresnoj traci. Sa takvim radnjama, tamo će biti upisano nešto poput: file: // Z: \ home \ mysite.local \ www \ srirt.rhr. Ali biće ispravno da pokrenete svoju skriptu ako je unesete u adresu virtuelnog domaćina. Direktno u adresnu traku pretraživača, morate unijeti: http: //mysite.local/script.php. Nakon ove metode unosa, skripta će se pokrenuti bez ikakvih problema i prikazat će svoj ispravan rezultat, koji bi trebao biti izlaz.

Top srodni članci