Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • OS
  • Si të shkruani dhe ekzekutoni skriptet PowerShell.

Si të shkruani dhe ekzekutoni skriptet PowerShell.

Ka kaluar më shumë se një vit që nga ajo kohë Lëshimi i Windows 7 dhe Serveri 2008.

Programuesit, administratorët e sistemit dhe përdoruesit e avancuar kanë gjetur shumë përdorime për dritaren blu, të ngjashme me vijën e komandës.

Shumica e përdoruesve fillestarë as nuk e dinë se çfarë është PowerShell (PS).

Por skriptet për PowerShell ju lejojnë të automatizoni pothuajse 100% të veprimeve dhe skripteve të kryera në sistemin operativ nëpërmjet linjës së komandës dhe GUI.

Le të njihemi me aftësitë kryesore të këtij programi, duke i kushtuar më shumë vëmendje funksionit të krijimit dhe ekzekutimit të skripteve (firmware).

Ka manuale dhe dokumentacion të panumërt për programin, përfshirë në Rusisht. Qëllimi i artikullit- t'i sigurojë përdoruesit njohuri konceptuale, të përditësuar, por nëse ia vlen të njiheni më nga afër me interpretuesin dhe ekzekutimin e skripteve në të, të gjithë do të vendosin vetë.

Çfarë është Windows PowerShell?

PowerShell– një përkthyes i bazuar në .NET Framework, i pajisur me gjuhën e tij të shkrimit.

E para do të thotë se ai punon në modaliteti i tekstit: futni një komandë, e ekzekutoni dhe në ekran shihni rezultatin e ekzekutimit të saj.

Siç ishte në MS-DOS dhe versionet më të vjetra të UNIX.

E dyta thjeshton, përshpejton dhe automatizon ndjeshëm administrimin dhe mirëmbajtjen e sistemeve, aplikacioneve, proceseve dhe shërbimeve të lidhura me të nga administratorët dhe përdoruesit e zakonshëm.

Krahasuar me përkthyes të tjerë, PS eshte ndryshe:

  • integrim me – ju lejon të krijoni skripta të fuqishëm duke futur në to kodi i programit;
  • të gjitha të dhënat e kthyera janë objekte, jo të dhëna teksti/string, që do të thotë se ato kalohen në skriptet e tjera dhe përpunohen në çfarëdo mënyre.

Versioni 2 i PowerShell ka mundësitë e mëposhtme, Le të shohim disa prej tyre në mënyrë më të detajuar:

  • Aftësia për të paraqitur komanda si cmdlet– lansohen brenda përkthyesit, përndryshe komanda ekzekutohet në një proces të veçantë.
  • Përdorimi i transportuesve– janë krijuar për të transferuar të dhëna nga një komandë në tjetrën duke ruajtur strukturën dhe llojin e tyre.
  • Transferimi i integruar i të dhënave me shumë transmetime mbi rrjet me prioritizimin dhe rifillimin e lidhjes.
  • Mbështetje për parametrat pozicionalë dhe të emërtuar.
  • Puna në sfond thirrje asinkrone komandat dhe ekzekutimin e skripteve në makinat në distancë.
  • Vendosja e seancave të kufizuara me klientët në distancë dhe ekzekutimin e skripteve mbi to.
  • Modulet– një mënyrë për të organizuar skriptet kur ato bëhen të vetë-mjaftueshme dhe ekzekutohen në kontejnerin e tyre pa ndikuar në mjedisin e modulit.
  • Disponueshmëria e një trajtuesi të gabimeve.
  • Mjedisi grafik për gjuhën: sintaksë, korrigjues, theksim, kompletim automatik komandat me mbështetjen e Unicode dhe faqeshënuesit.
  • Shtimi i pikave të ndërprerjes në vija, komandat, operacionet dhe variablat për korrigjimin e gabimeve të skriptit.
  • Blloko dhe komente ndërlineare.
  • Mbështetje për krijimin e pseudonimeve për disa cmdlet, duke u transformuar në komandat e rregullta në momentin e ekzekutimit.
  • Krijimi i seancave të kufizuara, ku mund të ekzekutoni një listë komandash të specifikuara rreptësisht dhe shumë më tepër.

Kodi burimor i PowerShell u bë i disponueshëm për të gjithë: Çdo anëtar i komunitetit mund të krijojë lirisht shtesat e veta për të rritur funksionalitetin e interpretuesit të linjës së komandës.

Ju mund të filloni të zotëroni një gjuhë të integruar skriptimi pa ndonjë aftësi programimi.

Nuk ka gjasa që ju të jeni në gjendje të krijoni një skenar kompleks, por pothuajse të gjithë do të jenë në gjendje të kryejnë sekuenca veprimesh primitive.

Edhe pse, pa njohuri për konceptet themelore të PowerShell, nuk ka gjasa që të jeni në gjendje të bëni ndonjë gjë në dritaren e interpretuesit të komandës. Le të fillojmë me ta.

Cmdlets

Cmdlets– komanda të veçanta PS pas të cilave fshihen më shumë funksione të ndryshme. Komandat e integruara në interpretues zbatohen në parimin folje-emër, për shembull, Get-Process (duke marrë një listë të proceseve). Kjo zgjidhje ju lejon të kuptoni thelbin e komandës tashmë nga emri i saj (on gjuhe angleze).

Disa cmdlet mbështesin marrjen/transferimin e të dhënave dhe grupeve të informacionit duke ruajtur strukturën dhe llojin e tyre. Kjo funksionon në parimin e një transportuesi (kjo do të diskutohet në seksioni tjetër). Pavarësisht, cmdlet-et ekzekutojnë dhe përpunojnë objektet sipas radhës.

Për të zbatuar cmdlet, mund të përdoret çdo API .NET e mbështetur e krijuar në çdo gjuhë .NET.

Kështu, përdoruesit i jepet akses në funksione specifike të programit.

Cmdlet janë në gjendje të fitojnë akses në informacionin e kërkuar drejtpërdrejt ose përmes shtigjeve unike (shkronjat e diskut dhe shtigjet e drejtorisë).

Duke përdorur cmdlet mund të punoni me objekte sistemi i skedarëve dhe dyqanet e certifikatave, aplikacionet e instaluara dhe sherbimet.

Transportues

Kur krijoni skripta jo shumë primitive ose për të kryer ndonjë operacion me të dhënat e marra si rezultat i skriptit, ndonjëherë duhet të kryeni edhe disa veprime.

Ekziston një transportues për këtë. Ashtu si në UNIX, ai kombinon komandat duke kaluar daljen e një cmdlet në hyrjen e një tjetri, të pandryshuar, duke ruajtur llojin e tij.

Në këtë rast, nuk kërkohet analizë e informacionit nga kontejneri ose karakter për karakter.

Pjesë informacionin e transmetuar mund të përfshihet edhe funksioni. Pas përfundimit të punës së komandave të kombinuara, funksioni i konvertimit të informacionit në pamje teksti(konvertimi i të dhënave në vargje) duke përdorur formatimin e tekstit.

Skriptet

Përkundër faktit se guaska ju lejon të automatizoni shumë veprime, duhet të futni komanda me dorë, gjë që nuk është shumë e përshtatshme.

Sidomos kur të njëjtat operacione duhet të kryhen vazhdimisht.

Po dhe pa faktori njeri jo mjaftueshem: gabime shtypi, gabime, goditje aksidentale e tasteve gjatë shkrimit të rreshtave të kodit, korrigjimi ose rishtypja e një rreshti kërkon një qëndrim më miqësor ndaj përdoruesit.

Për të kryer zinxhirë monoton veprimesh, PS ka zbatuar skripta - skedarë teksti me një sekuencë komandash brenda që janë të kuptueshme për interpretuesin.

Skriptet në PowerShell do të thjeshtojnë dhe automatizojnë më tej punën në PC dhe mirëmbajtjen e tij, veçanërisht nëse skripti përmban degë, kushte, operacionet logjike dhe cikle.

Por këtu "gjithçka që shkëlqen nuk është ari": shkrimi i skenarit tuaj ose ngarkimi i një të gatshëm (edhe pse paksa duke e përshtatur atë me qëllimet tuaja) nuk do të funksionojë aq lehtë.

Nëse nëMicrosoftu lejua sado telashe bërë skenarë përPowerShell , shkruar nga mashtrues dhe keqbërës për qëllime egoiste ose huligane.

Për të ekzekutuar në Windows PS, duhet të kaloni kontrollin e nisjes së tij.

Nëse dështon dhe skripti duhet të ekzekutohet, do t'ju duhet të ndryshoni konfigurimin e objekteve përgjegjës për sigurinë e makrove.

Para përdorimit të skripteve

Kur përdorni VBS, lindin shumë probleme, nga të cilat zhvilluesit e PowerShell u hoqën plotësisht nëse siguria e skriptit nuk ulet për të kënaqur kërkesat e skriptit të përdoruesit ose për të zgjidhur problemet që lidhen me nivelin e sigurisë së sistemit operativ.

Ekzekutimi i një skripti të shkarkuar në kompjuterin e një përdoruesi është një opsion i thjeshtë dhe efektiv për përhapjen e malware. software ose vjedhje informata personale nga ndërhyrës.

Gjithçka ndodh për shkak të injorancës themelore të përmbajtjes së skedarit të skriptit (ps1) dhe dëshira për të zgjidhur shpejt problemet e tyre në kurriz të punës së të tjerëve. Objektet që kontrollojnë nivelin e sigurisë së ekzekutimit të skriptit krijojnë një mjedis në të cilin është e pamundur të ekzekutohet skripti.

Drejtimi i qëllimshëm i makrove ndodh pas ndryshimit të nivelit të sigurisë, nëse përdoruesi jep miratimin, duke kuptuar se çfarë po bën dhe duke ditur me siguri se çfarë është në skedarin *.ps1.

Për shkak se konfigurimi i sigurisë është i papërshtatshëm për njerëzit që duhet të zbatojnë dhe ekzekutojnë skriptet e tyre, është e mundur të ndryshohet konfigurimi.

Këtu mund të zvogëloni mbrojtjen në minimum ose të manovroni me mençuri midis aftësisë për të hapur vrima për depërtim dhe lehtësisë së punës me PowerShell.

Predha ka tre nivele sigurie:

  • skedarët me shtesën ps1 nuk identifikohen nga sistemi si të ekzekutueshme dhe përcaktohen si të panjohura ose tekst (nga klikoni dy herë hapet në parazgjedhjen e kompjuterit redaktori i tekstit);
  • Predha ju lejon të ekzekutoni skriptet pasi të specifikoni rrugën e tyre të plotë, skedarët e skriptit në drejtorinë aktuale nuk kërkohen, duke e bërë të pamundur ekzekutimin e makrove të vendosura në drejtorinë aktuale;
  • ekzekutimi i skriptit të integruar të Politikës së Ekzekutimit, përgjegjës për shtimin e atij të kërkuar në listën e skripteve të lejuara.

As mos mendoni për ndryshimin e konfigurimit, duke e ulur atë të paktën në nivelin e dytë, pa u njohur me bazatPowerShellderisa të filloni të kuptoni të paktën sipërfaqësisht përmbajtjen e *.ps1.

Ekziston edhe koncepti i një politike ekzekutimi, e krijuar për të parandaluar ekzekutimin aksidental të skripteve. Ekzistojnë pesë cilësime të politikave të nisjes:

  • i kufizuar - të instaluara si parazgjedhje, ekzekutohen vetëm skriptet e nënshkruara nga Microsoft, duke ju lejuar të merrni informacione në lidhje me guaskën e harduerit dhe softuerit të kompjuterit;
  • duke pasur një nënshkrim skedarët e fshirë – mund të ekzekutoni të gjitha makrot, por skedarët e dërguar me postë duhet të nënshkruhen;
  • duke pasur nënshkrim dixhital nga një burim i besueshëm– të gjitha skriptet e nënshkruara janë ekzekutuar;
  • e pakufizuar– nisni çdo makro;
  • anashkalojë– i destinuar për programuesit që krijojnë sistemin e vet siguri në vend që të përdorni atë të dhënë në guaskë.

Kontrollo Gjendja e tanishme Politikat e ekzekutimit mund të krijohen duke përdorur komandën "Get-ExecutionPolicy".Cilado qoftë politika e sigurisë, përdoruesi nuk do të jetë në gjendje të ekzekutojë një skript që përmban komanda që ai nuk ka privilegje të mjaftueshme për t'i ekzekutuar.

Nisja e PowerShell

Është koha për të kaluar nga teoria në praktikë. Pra, për të ekzekutuar skriptet ju duhet të merrni një nënshkrim dixhital ose (opsioni i dytë është më i thjeshtë).

Ka disa mënyra për të hapur një dritare PowerShell.

Ai paraqitet në dy forma:

  • tastierë klasike;

  • PowerShell ISE - shton mbështetje për skedat, sintaksën, ndihmën kontekstuale, menutë kontekstuale dhe kryesore, gjë që lehtëson shumë punën në përkthyes.

Filloni

Mënyra më e lehtë për të thirrur PS është përmes Start.

  1. Hapni menunë(në Windows 7, klikoni "Të gjitha programet").
  2. Shkojmë Drejtoria e Windows PowerShell dhe klikoni në ikonën e dëshiruar.

Oriz. 6 – Nisni PS përmes dialogut “Run”.

Win + X

Në Windows 10, PS mund të thirret nga menyja WinX. Fakti është se si parazgjedhje duke klikuar në komandën "Linja e komandës" hapur CMD. Mund të zëvendësohet me PowerShell.

Hapni "Properties" të Taskbar, në skedën "Navigation", vendosni një shenjë pranë opsionit të vetëm dhe ruani cilësimet.

Mund ta telefononi PowerShell përmes linjës së komandës duke shtypur "powershell" në të ose duke ekzekutuar skedari i ekzekutueshëm përgjatë rrugës: %WINDIR%\ System32\ WindowsPowerShell\v1.0 për sistemet 32-bit dhe në %WINDIR%\ syswow64\ WindowsPowerShell\v1.0 për 64-bit Windows çdo redaktorët.

Oriz. 8 – Drejtoni PS nga drejtoria ku ruhet skedari i tij i ekzekutueshëm

Duke përdorur skriptet R ju mund të mbledhni shpejt dhe lirshëm të dhëna nga API-të shërbime të ndryshme ose platformat reklamuese dhe shkruajini ato në bazën e të dhënave. Por nëse përdorni rregullisht skriptet, a ka ndonjë kuptim t'i ekzekutoni ato manualisht çdo herë?

Unë do t'ju tregoj se si ta konfiguroni lëshimin Skriptet R në një interval të caktuar në sistemin operativ Windows.

1. Si të shtohet shtegu në konsolën R në variablin e mjedisit PATH?

PATH - Ndryshore e mjedisit si Unix sistemet operative, DOS, OS/2 dhe Microsoft Windows, i cili është një grup drejtorish në të cilat ndodhen skedarët e ekzekutueshëm. Në thelb, çdo proces ekzekutiv ose sesion i përdoruesit ka variablin e vet PATH.

Ky udhëzim vlen për funksionimin Sistemet Windows 8 dhe 10, por mund ta bëni pa asnjë problem udhëzues të detajuar dhe për çdo version tjetër të Windows.
1.1. Në rreshtin "Kërko", gjeni "Sistemi (Paneli i Kontrollit)" dhe klikoni në lidhjen " Opsione shtesë sistemet."

1.2. Në dritaren e vetive të sistemit, klikoni në butonin " Variablat e Mjedisit...».

1.3. Në seksionin Environment Variables, klikoni në variablin PATH dhe klikoni Edit. Nëse ndryshorja PATH nuk ekziston, klikoni Krijo.

1.4. Shtoni në ndryshore shtegun për në dosje me skedarin " R.exe».

Një skedar bat është në thelb i ngjashëm me një skedar me zgjerimi exe, por kodi i tij është më i thjeshtë dhe përbëhet nga disa rreshta komandimi.

Krijimi i një skedari bat është mjaft i thjeshtë. Ju mund të shkruani komandën e nisjes në një skedar teksti të thjeshtë me Zgjatja TXT, ruajeni dhe ndryshoni shtesën në " .bat" Unë do të përshkruaj një metodë tjetër - krijimin e një skedari bat duke përdorur bllok shënimesh falas Notepad ++.

2.1. Hapni Notepad++ (mund ta shkarkoni nga lidhja).

2.2. Futni komandën e mëposhtme:

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

Ekipi " @echo fikur" çaktivizon shfaqjen e mesazheve në vijën e komandës kur skripti po ekzekutohet, mund ta ndryshoni këtë komandë në " @echo në"dhe shikoni ekzekutimin e skenarit teksa funksionon.

Ekipi " R CMD BATCH» fillon ekzekutimin e skriptit R.

Në rreshtin e dytë, në vend të " C:\R\myscript.R" shkruani shtegun për skedarin tuaj të skriptit R.

Skedari që rezulton do të duket si ky:

2.3. Ruani skedarin e krijuar tekst me zgjerimi BAT. Për ta bërë këtë, në menunë Notepad ++, zgjidhni "File" - "Save as" - "Batch file (bat, cmd, nt)".

Nëse nuk dëshironi që një dritare e linjës së komandës të shfaqet në ekran kur skripti R fillon automatikisht, atëherë përpiloni skedarin tuaj bat në exe - në këtë rast skripti do të funksionojë në sfond dhe nuk do t'ju shqetësojë.

3.1. Shkarko shërbim falas Lidhja "Bat To Exe Converter".

3.2. Specifikoni skedarin bat që duhet të përpilohet, si dhe shtegun dhe emrin e skedarit të ardhshëm exe.

3.3. Në zonën e dukshmërisë së aplikacionit, kaloni në "Aplikacion i padukshëm".

3.4. Nëse dëshironi, vendosni një ikonë për skedarin tuaj.

Për të instaluar një ikonë, shkoni te skeda "Informacioni i versionit" dhe përdorni butonin "..." për të zgjedhur ikonën e dëshiruar në fushën "Skedari i ikonave".

Mund të përdorni çdo imazh në formatin ICO si ikonë, ose ta vizatoni vetë në një redaktues falas në internet.

Klikoni butonin "Përpiloni".

4. Konfiguro Windows Task Scheduler

Hapi i fundit i konfigurimit është të shtoni një detyrë në planifikues Detyrat e Windows.

Windows Task Scheduler është një mjet i integruar (analog me Linux CRON) me të cilin mund të planifikoni kohë të caktuar me kushte të dhëna:

  • nisja e ndonjë programi;
  • dërgimi i emailit;
  • Shfaq një mesazh specifik në ekran.

4.1. Për të hapur planifikuesin e detyrave, kopjoni te shiriti i adresave hap dosjen rrugë " %windir%\system32\taskschd.msc /s».

4.2. Në anën e djathtë të planifikuesit, zgjidhni "Krijo detyrë...".

4.3. Në skedën e Përgjithshme të kutisë së dialogut Krijo detyrë, vendosni një titull dhe, nëse është e nevojshme, një përshkrim të shkurtër.

4.4. Në skedën "Triggers", konfiguroni orarin për ekzekutimin e skriptit: klikoni "Krijo" dhe vendosni, për shembull, që të përsëritet skripti çdo të hënë në orën 12:45.

Kjo përfundon procesin e konfigurimit të nisjes së skripteve R sipas një orari. Nëse keni bërë gjithçka siç duhet, një detyrë e re do të shfaqet në listë.

konkluzioni

Me këtë udhëzues, konfigurimi i autorun do të zgjasë jo më shumë se dhjetë minuta dhe do të kursejë kohë në të ardhmen.

Algoritmi i veprimeve:

  1. Vendosni variablin e mjedisit PATH në shtegun për në tastierën R.
  2. Krijo një skript R që do të ekzekutohet veprimet e nevojshme(për shembull, ruani rezultatin në një skedar Formati CSV ose shkruani në një bazë të dhënash).
  3. Krijoni një skedar bat që përmban shtegun për në skriptin R.
  4. Përpiloni skedarin tuaj bat në një exe në mënyrë që të funksionojë në sfond dhe të mos ju shpërqendrojë nga puna juaj.
  5. Në Programin e detyrave të Windows, shtoni një detyrë të përsëritur për të ekzekutuar skedarin bat dhe vendosni një interval kohor specifik.

Përpunimi i sasive të mëdha të të dhënave, grumbullimi dhe transferimi i tyre në çdo bazë të dhënash është i thjeshtë dhe i shpejtë nëse e organizoni punën tuaj në mënyrë korrekte.

Nëse kohët e fundit keni hyrë në rrugën e programimit dhe nuk keni provuar as të luani me sistemin operativ të instaluar, atëherë manipulimi duke përdorur skriptet mund të ngrejë pyetje të arsyeshme domosdoshmërie dhe komoditeti. Sidoqoftë, edhe përveç faktit të thjeshtë që ju ndihmojnë të kuptoni më mirë se si funksionon OS në të ardhmen kur krijoni aplikacione, skriptimi mund të jetë një aftësi jashtëzakonisht e dobishme.

Ne do t'i drejtohemi PowerShell për të ekzekutuar skriptet e mëposhtme. Çdo Administratori i sistemit(me profesion ose në zemër) i njeh aftësitë e tij dhe e përdor atë në mënyrë periodike; për të gjithë të tjerët, është thjesht një ndërfaqe e linjës komanduese ose një fjalë e huaj. Në burimet e njohura mund të gjeni shumë ide se si të përdorni PowerShell për argëtim dhe biznes, por këtu do të shikojmë vetëm skriptet e thjeshta që do t'ju ndihmojnë të arrini shpejtësinë.

Mbyllja dhe rinisja

Pra, më së shumti operacion i thjeshtë duke fikur kompjuterin tuaj. Hapni bllokun e shënimeve dhe shkruani:

mbyllje -s -t 0

Ruajeni skedarin si *.cmd (* është emri i skedarit tuaj, për shembull shutdown.cmd) dhe mos harroni të zgjidhni "të gjithë skedarët" në llojin. Kjo është e gjitha, skedari i ekzekutueshëm do të fikë kompjuterin tuaj pas nisjes. "-s", në në këtë rast do të thotë mbyllje, zëvendësojeni me "-r" dhe merrni një rindezje. "-t" është një kohëmatës, ne e kemi vendosur në 0 sekonda, por nëse e vendosni në 60, do të merrni një mbyllje pas 60 sekondash.

Heqja e gjërave të panevojshme

Në asamble të ndryshme të para-instaluara në kompjuterin ose laptopin tuaj, mund të hasni shumë paketa aplikacionesh krejtësisht të panevojshme. Heqja e tyre duke përdorur një skript është po aq e lehtë sa granatimi i dardhave:

get-appxpackage -emri *APPNAME* | heq-appxpackage

Siç e kuptoni, *APPNAME* është emri i shtesës që nuk ju intereson. Po, ju mund t'i hiqni këto paketa në mënyrën standarde ose përmes programe të veçanta, por mund të krijoni një skript që do t'i heqë të gjitha me një klik të dyfishtë.

Ne menaxhojmë proceset

Ka dy në PowerShell komandat e dobishme, e cila do t'ju lejojë të luftoni mullinjtë e erës (procese që reduktojnë performancën). Ju mund t'i shfaqni ato në ekran thjesht duke shkruar:

ose informacion rreth një shërbimi specifik nën emrin e koduar *EMRI* (ky vend duhet të përmbajë emrin e shërbimit të interesit):

Merr shërbimin *NAME*

Por kjo mund të bëhet në menaxherin e detyrave, por krijimi i një skedari që, me klikim, do të mbyllte të gjitha proceset me konsum të shtuar të burimeve (shfletuesit, antiviruset, etj.) mund të jetë vërtet i dobishëm. Për ta bërë këtë, përdorni komandën Stop-Service:

Stop-Service -Emri *ANTIVIRUS*

Stop-Service -Emri *BROWSER*

Emrat e zëvendësimit tregohen në * *.

Riemërtoni një grup skedarësh

Një problem tjetër i bezdisshëm: keni kopjuar imazhe nga kamera ose telefoni juaj. Një grumbull i madh fotografish që kanë të njëjtin emër si HGNMD034, ku emri është HGNMD drejtoria e përbashkët, i cili kombinon skedarët, për shembull, të kapur në një ditë. Për t'i bërë emrat e këtyre skedarëve më të bukur ose për të qenë në gjendje të kombinoni disa dosje pa pasur konfuzion kronologjik për shkak të emrave, mund të përdorni një skript riemërtimi në masë:

$path = "$comp\desktop\journey\rusia"
$filter = "*.jpg"
get-childitem -rruga $rruga -filter $filter |
riemërto-artikull -emër i ri ($_.name - zëvendëso "HGNMD","RUSSIA")

Në rreshtin e parë, në thonjëza, specifikoni rrugën e saktë për skedarët. Rreshti i dytë përmban shtrirjen e skedarëve që do të ndryshohen. Në rreshtin e fundit, në vend të "HGNMD" - një emër i zakonshëm skedari që duhet të zëvendësohet me diçka, në vend të "RUSSIA" - emri që dëshironi të caktoni. Nëse e ruani përsëri këtë skript si një skedar të ekzekutueshëm, atëherë operacione të ngjashme të të njëjtit lloj do t'ju marrin vetëm disa sekonda kohë.

Duke kërkuar për skedarë

Një detyrë tjetër e thjeshtë e zbatuar në PowerShell është kërkimi i skedarëve në një direktori. Në këtë rast, merrni parasysh kërkimin e skedarëve të regjistrit:

Get-Childitem C:\Windows\*.log

Ose pak më shumë shembull kompleks, kur kërkimi do të kryhet edhe në nëndosjet:

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

Kjo është pak më e saktë dhe rekord i plotë, ku "Përfshi" - tregon pjesën që kërkohet, "Recurse" - një kërkim në nëndrejtori, "Force" - kërkimi përfshin sistemin dhe skedarët e fshehur.

Referenca

Pra, me parimet e përgjithshme Pak a shumë e kemi kuptuar funksionimin e PowerShell. Nëse diçka është e paqartë, kontaktoni informacion referencë në mënyrën e mëposhtme:

Shërbimet Get-Help

Kjo është komanda që do të shfaqë gjithçka komandat e disponueshme Me përshkrim i shkurtër. Dëshironi më shumë detaje? Nuk ka asgjë më të thjeshtë:

Get-Help -Emri *CMDLET*

Ku në vend të *CMDLET* futni ndonjë komandë me interes.

Gjetja e të dhënave

Tani le të kalojmë te skriptet e thjeshta të përshkruara me komanda pak më komplekse. Për shembull, me duke përdorur PowerShell mund të mësoni pothuajse të gjitha informacionet rreth harduerit dhe komponentëve. Përndryshe, këtu është një skenar për të vlerësuar nivelin e ngarkimit të baterisë:

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

Arkitektura CPU e kompjuterit në distancë:

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

Ndonjëherë një detyrë e rëndësishme është të kontrolloni të drejtat e administratorit përdoruesi aktual. Këtu është një mënyrë e thjeshtë në PowerShell:

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

Le të ndalemi këtu për momentin. Siç e keni parë ndoshta, PowerShell nuk është më kompleksi, por është shumë mjet i dobishëm, i cili është i aftë të kryejë operacione të thjeshta dhe mjaft komplekse. Sidoqoftë, PowerShell nuk është i vetmi mjet skriptimi për Windows. Por më shumë për këtë herën tjetër.

Janë disa në mënyra të ndryshme ekzekutimi i skenarit, më poshtë janë ato kryesore:

  1. Nisja PowerShell dhe ekzekutoni skriptin në të (futni shtegun për në skedar dhe emrin e skedarit, për shembull, si kjo: C:\Scripts\test.ps1, ose shkoni te dosja e skriptit me komandën cd C:\Scripts dhe ekzekutoni atë me komandën.\test.ps1) Predha mund të gjendet dhe të lëshohet në shumë mënyra. Një mënyrë është përmes menysë Start. Për Windows 7 - duhet të shkoni te "Të gjitha programet" - "Accessories" - " Windows PowerShell" dhe hapni guaskën "Windows PowerShell". Për Windows 10 - duhet të gjeni grupin me shkronjën "W" dhe në të do të gjeni "Windows PowerShell".
  2. Nisja e "Mjedisit të integruar" Skriptet e Windows PowerShell ISE"- ky është një program - një mjedis zhvillimi që ju lejon të redaktoni dhe korrigjoni gabimet Skriptet e PowerShell, i cili është gjithashtu i disponueshëm si parazgjedhje së bashku me vetë PowerShell. Pasi ta keni nisur atë, thjesht duhet të klikoni në butonin "Hap" ose të shkoni te menyja File - Hapni dhe zgjidhni skript i kërkuar, më pas shtypni F5 ose butonin "Run Script". Mund ta gjeni Windows PowerShell ISE në të njëjtin vend si PowerShell - në menynë Start.
  3. Nisni linjën standarde të komandës dhe shkruani në të:
    powershell -skedar<имя_скрипта> (shembull: powershell -file myscript.ps1)

Nëse nuk i keni ekzekutuar më parë skriptet e PowerShell, ka të ngjarë të merrni mesazhin e mëposhtëm: Skedari nuk mund të shkarkohet<имя_скрипта>, pasi ekzekutimi i skriptit është i ndaluar për këtë sistem. Shkruani "get-help about_signing" për më shumë informacion. Kjo për faktin se për arsye sigurie dhe për të parandaluar ekzekutimin aksidental kod me qëllim të keq, të gjitha skriptet duhet të nënshkruhen në mënyrë dixhitale.

Si të lejohet ekzekutimi i një skripti të panënshkruar PowerShell?

1. Në PowerShell, përpara se të ekzekutoni skriptin, ekzekutoni komandën për të lejuar ekzekutimin e skripteve të panënshkruara për sesionin aktual të guaskës:

Procesi i Set-ExecutionPolicy RemoteSigned -Scope

2. Në fillim nga linja standarde e komandës përdorni parametrin -executionpolicy, d.m.th. ekzekutoni skriptin si kjo:

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

Të dyja metodat vendosin politikën vetëm për sesionin aktual, ndërsa politika e sigurisë për ekzekutimin e skripteve të PowerShell të shkruara në regjistër nuk do të ndryshohet dhe do të mbetet e njëjtë. Nëse dëshironi të ndryshoni politikën e sigurisë së ekzekutimit të skriptit në "të përhershme", atëherë përdorni këtë metodë:

3. Lejo nisjen përgjithmonë: Nisni PowerShell si Administrator, më pas ekzekutoni komandën:

Set-ExecutionPolicy RemoteSigned

Shënim: Nëse skripti është shkarkuar nga Interneti, atëherë për të shmangur një kërkesë për konfirmim të nisjes, duhet të përdorni Bypass në vend të RemoteSigned - mbyllje e plotëçdo kërkesë dhe paralajmërim.

Si të ekzekutoni një skript PowerShell në sfond?

Për ta bërë këtë, thjesht përdorni parametrin e nisjes -WindowStyle, i cili mund të marrë vlerat e mëposhtme: Normal, Minimized, Maximized dhe Hidden. Kështu, për të ekzekutuar një skript të panënshkruar në sfond, duhet të ekzekutoni komandën:

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

Ju gjithashtu mund të shtoni -NonInteractive nëse dëshironi, në mënyrë që skripti të mos bëjë pyetje. Kështu, skripti do të ekzekutohet pa u vënë re nga përdoruesi. Kini kujdes kur përdorni këtë metodë.

Ekzekutimi i një skripti PowerShell me parametra

Lëshimi aktual duhet të bëhet sikur po nisje program i rregullt ose skedar bat me parametra. Për shembull, për të ekzekutuar një skript me parametra nga linja e komandës, mund të shkruani komandën e mëposhtme:

powershell -executionpolicy RemoteSigned -skedar<имя_скрипта>param1 param2 "një parametër tjetër teksti"

Në vetë skriptin mund t'i merrni këto parametra si kjo:

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

Në PowerShell ISE, mund të ekzekutoni një skript me parametra në të njëjtën mënyrë duke përdorur panelin e komandës.

Si të ekzekutoni një skript PowerShell duke përdorur një shkurtore?

Kjo detyrë mund të realizohet në dy mënyra:

  1. Krijoni një skedar bat/cmd në të cilin të shkruani një komandë për të ekzekutuar skriptin (ju keni lexuar parametrat e mësipërm)
  2. Krijo një shkurtore për PowerShell, e cila mund të gjendet në dosjen c:\Windows\System32\WindowsPowerShell\v<версия>\ dhe në vetitë e shkurtoreve në fushën "Object", shtoni parametrat e nevojshëm.

Kështu, për shembull, për të ekzekutuar një skript powershell kur përdoruesi regjistrohet, thjesht mund të krijoni një shkurtore siç përshkruhet në pikën 2 dhe ta vendosni atë në fillim. Gjithashtu, krijimi i një shkurtoreje duke përdorur një nga metodat e mësipërme do t'ju lejojë të ekzekutoni me lehtësi skriptin si administrator ose si çdo përdorues tjetër si një program i rregullt.

Gjuha e skriptimit PowerShell - mjaft mjet i fuqishëm për të zgjidhur probleme të ndryshme, por mund të përdoret jo vetëm për gjëra të mira, por edhe për dëme, prandaj përdorni me mençuri;)

Shpesh, përdoruesit e avancuar dhe madje edhe administratorët, pasi kanë instaluar një sistem operativ të ri dhe kanë konfiguruar të gjitha llojet e mureve të zjarrit, mendojnë se tani sistemi është i mbrojtur në mënyrë të besueshme dhe ata mund të pushojnë në pjesën e pasme të karriges së tyre. Por, kur shkruani skripta për këto sisteme të reja operative, është e nevojshme t'i ekzekutoni ato në mënyrë korrekte. Duke prekur temën e skripteve, ne do t'u përgjigjemi pyetjeve të bëra shpesh në lidhje me nisjen e tyre.

Thjesht teorikisht, si të ekzekutoni një skript në Windows në MS JScript (MyScript.js) si shërbim Windows? Nëse, për shembull, krijojmë një seksion në regjistër dhe në një degë. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MyService Për të krijuar të gjithë parametrat e kërkuar, do t'ju duhet të futni nisjen përmes cmd CScript në këto parametra ose përmes një nisje të dyfishtë si: "C:\Windows\System32\WScript.exe" ose diçka tjetër. më e thjeshtë. Do të merrni diçka të tillë modaliteti i fshehur, dhe procesi wscript.exe nuk do të jetë i dukshëm në Taskmanager.

Shpesh, kur shkruani JavaScript, ekziston nevoja për të ngarkuar automatikisht. Si mund ta ekzekutoj skriptin në boot?

  • në fund të skedarit js, bëni një telefonatë në funksionin e kërkuar.
  • në tekstin e skedarit menu.js shkruani funksionin page_load():

Përdorimi i të dyja metodave në të njëjtën kohë do ta bëjë shumë të vështirë ruajtjen dhe kuptimin e kodit.

  • Shell script – një grup komandash të sistemit të shkruara në mënyrë të thjeshtë skedar teksti. Nuk ka asgjë veçanërisht të komplikuar këtu, vetëm komanda që mund të futen lehtësisht në vijën e komandës guaska e sistemit ose në terminal. Në të ardhmen, skenari do të lansohet pa komplikime.
  • Nëse ju duhet të ekzekutoni një skript vbs dhe nëse nuk janë bërë ndryshime në mbajtësin me shtesën ".vbs", atëherë pasi të klikoni dy herë në skedarin me këtë shtesë, skripti do të hapet. Gjithçka duhet të funksionojë menjëherë. Megjithatë, nga guaska e grafikut linja e komandës nuk do të ekzekutojë vetëm vbs, por kërkon përdorimin e një interpretuesi cscript
  • Për të ekzekutuar një skript sql duke përdorur C#, duhet të lidhni asamblenë SMO dhe të përcaktoni ServerConnection.ExecuteNonQuery (Script String). Metoda ExcuteNonQuery() merr vetëm parametrin string, kështu që së pari duhet të lexoni skedarin .sql në variablin string. ServerConnection.ExecuteNonQuery() bën një pyetje që nuk do të kthejë një grup rezultatesh.
  • Për të ekzekutuar një skript python, duhet t'ia kaloni emrin e skriptit interpretuesit. Fillimisht shkruajmë në rreshtin e parë: gabim sintaksor. Tjetra shkruajmë pa "$" - gabim sintaksor. Është thjesht një emër skedari - gabim sintaksor. Dhe gjëja e fundit që duhet të shkruhet është rruga drejt skedarit - gabim sintaksor.
  • Tani si të vraponi skripti php nëpërmjet Denverit. Shumica e fillestarëve bëjnë një gabim gjatë gjithë kohës. Duket se absolutisht gjithçka po bëhet si duhet, ata po krijojnë dosjet e nevojshme, Denwer rifillohet dhe, me sa duket, në fund mbetet vetëm që skedari të vihet në veprim. Por këtu shfaqet përsëri një gabim i bezdisshëm. Përdoruesi thjesht e hap skedarin përsëri në një shfletues të rregullt (ose duke zvarritur dhe kopjuar skedarin në shfletues, ose klikoni dy herë tastet e miut). Këto veprime mund të vërehen lehtësisht nga emri i adresës në shiritin e adresave. Me veprime të tilla, diçka e tillë do të shkruhet atje: file://Z:\home\mysite.local\www\script.php. Por do të jetë e saktë të ekzekutoni skriptin tuaj nëse futni adresën host virtual. Direkt në shiritin e adresave të shfletuesit duhet të futni: http://mysite.local/script.php. Pas kësaj metode të hyrjes, skripti do të funksionojë pa probleme dhe do të shfaqë rezultatin e tij të saktë, që është ajo që duhet të dalë.

Artikujt më të mirë mbi këtë temë