Kako napisati in zagnati skripte PowerShell. Kako odpreti PowerShell, vse metode

1. Pisanje scenarija

Skript PowerShell (ne glede na različico) je besedilna datoteka s pripono *.ps1.

Tukaj je primer preprostega skripta Power Shell (datoteka systemInfo.ps1):

# Pridobite objekt WMI za operacijski sistem

Get-WmiObject Win32_OperatingSystem

To datoteko je mogoče ustvariti in urejati na primer v FAR Managerju.

Opombada FAR Manager, čeprav lahko deluje v konzoli Power Shell, izvaja skripte izpod sebe v okolju običajne konzole Windows cmd . To pomeni, da je FAR Manager mogoče uporabiti samo za ustvarjanje in urejanje skriptov PowerShell, ne pa tudi za njihovo izvajanje. Preden pa boste razočarani, preberite 3. točko.

2. Zagon skripta

Skript je treba izvesti iz konzole Power Shell in ne iz običajne Windows konzola. V konzoli Power Shell morate iti v imenik, kjer se nahaja skript (z ukazi CD ), nato pa zaženite sam skript, pri čemer pazite, da vključite znake pred njim".\" . Na primer, imamo pot do datoteke skripta d:\work\systemInfo.ps1 . Nato bodo ukazi za zagon videti takole:

cd\

cd delo

.\systemInfo.ps1

ali takole (samo določite celotno pot do skripta):

d:\work\systemInfo.ps1

Najverjetneje se bo med izvajanjem skripta pojavila naslednja napaka:

Datoteke D:\work\systemInfo.ps1 ni mogoče naložiti, ker izvajanje skripta v tem sistemu ni dovoljeno. Za več informacij vnesite "get-help about_signing".

vrstica: 1 znak: 18

CategoryInfo: NotSpecified: (:), PSSecurityException

FullyQualifiedErrorId: RuntimeException

Napaka se pojavi, ker ima Power Shell privzeto omogočen največji varnostni pravilnik, ki vam omogoča zagon ukazov PowerShell v ukazni vrstici, vendar vam ne dovoljuje zagona skripta z ukazi PowerShell v isti ukazni vrstici.

Če želite omogočiti izvajanje skriptov PowerShell, morate ustvariti datoteko *.bat, na primer enableScript.bat z naslednjo vsebino:

powershell -Command Set-ExecutionPolicy RemoteSigned

To datoteko *.bat je mogoče izvesti v kateri koli konzoli: v lupini PowerShell ali v običajni konzoli cmd . Po izvedbi te datoteke se bodo skripti PowerShell izvajali v konzoli PowerShell.

3. Zagon skripta PowerShell iz običajne konzole Windows cmd

Skript PowerShell je mogoče izvesti tudi iz običajne konzole Windows. Če želite to narediti, lahko uporabite ukaz:

Powershell -Datoteka ./systemInfo.ps1

Na ta način lahko izvajate skripte neposredno iz FAR Managerja in bodo delovale.

Toda tukaj je majhna subtilnost. Parameter-Mapa strelja samo na lokalnih poteh, tudi če je pot relativna"./" . To je, če *.ps1 - datoteka je na lokalnem disku C: ali D: , potem bo tak klic deloval. Toda če poskusite izvesti skript, ki se nahaja na viru domene, skripta ne bo mogoče najti. Morda bo to popravljeno v prihodnjih različicah lupine PowerShell.

Pozdravljeni vsi skupaj! Danes kratek zapis o temi, kako odpreti powershell kot skrbnik. Naj vas spomnim, da je PowerShell močan Microsoftov programski in administrativni jezik, vsako leto raste, vse velika količina cmdleti in funkcionalnost. V bistvu je zamenjava za ukazni poziv sistema Windows. Spodaj bomo obravnavali metode, ki vam omogočajo, da ga odprete in konfigurirate.
.

Metode za odpiranje snap-ina PowerShell

Powershell se zelo dobro razvija in je z izdajo Windows 10 že prejel različico 4, vendar je naša tema drugačna. Kako torej odpreti powershell? Vse je preprosto, če je v sistemu Windows XP, potem nič. Ker je dostavljen ločeno, je v vseh naslednjih izdajah na voljo kot vgrajena komponenta. večina univerzalna metoda odprite powershell s tem klikom

Win + R in vnesite powershell

S pritiskom na enter se zažene konzola PowerShell, edina težava je, da se ne odpre kot skrbnik. Posledično se številni ukazi ne bodo izvedli; spodaj bomo videli, kako to storiti v imenu skrbnika.

Kako odpreti Windows PowerShell kot skrbnik v sistemih Windows 8.1 in Windows 7

Windows Powershell lahko odprete prek Starta. V operacijskem sistemu Windows 8.1, Windows 2012 R2 pojdite na Sistemska orodja - Windows in kliknite z desno tipko miške ter izberite Zaženi kot skrbnik.

V sistemih Windows 7 in Windows 2008 R2 je videti takole: Start > Pripomočki > Windows PowerShell

Prav tako lahko ustvarite bližnjico v elementu opravila in jo kliknete z desno tipko miške ter izberete ustrezen element

Bilo bi priročno, če bi se PowerShell vedno odprl kot skrbnik, implementirajmo ga. To se naredi na enak način v vseh različicah sistema Windows. Odpiranje nadzorne plošče

Z desno tipko miške kliknite nanjo in izberite Lastnosti. Takoj lahko vidite pot do datoteke, kjer se nahaja v sistemu.

Kliknite gumb "Napredno". Videli boste dodatne lastnosti. kjer morate potrditi polje Zaženi kot skrbnik.

Vse je zelo preprosto. Prepričan sem, da zdaj ne boste imeli vprašanja o tem, kako odpreti Windows Powershell. Druga uporabna stvar je spreminjanje pisave v oknu PowerShell.

Kako odpreti PowerShell iz kontekstnega menija gumba Start v sistemu Windows 10

Microsoft vse bolj daje poudarek z ukazne vrstice na njen močan jezik (PowerShell), kar je logično, saj njegove zmogljivosti za upravljanje operacijskih sistemov Družina Windows, so skoraj neomejeni, če ne še več kot v grafičnem vmesniku. Začenši z Windows različice 10 1709 je v kontekstnem meniju PowerShell zamenjal običajni cmd za vse. Z desno miškino tipko kliknite gumb za zagon v sistemu Windows 10 in v kontekstnem meniju izberite ustrezen element:

  1. Windows PowerShell
  2. Windows PowerShell (skrbnik) je ravno tisti način z največjimi pravicami v sistemu Windows 10.

Zaženite Windows PowerShell z iskanjem v sistemu Windows 10

V sistemu Windows 10 in starejših različicah lahko PowerShell najdete z uporabo redno iskanje, za to obstaja poseben razdelek. Poleg gumba Start kliknite ikono povečevalnega stekla. V iskalni obrazec, ki se odpre, vnesite besedo PowerShell. Iskali boste vse možnosti, med katerimi boste našli školjko. Če ga kliknete z desno tipko miške, ga lahko odprete kot skrbnik.

Zagon Windows PowerShell iz menija Start v sistemu Windows 10

Če želite odpreti PowerShell iz menija Start, ga odprite in poiščite element Windows PowerShell, ki bo v obliki mape, ga odprite in zaženite ustrezno različico.

Če kliknete z desno tipko miške, lahko zaženete lupino Vershel kot skrbnik s skrbniškimi pravicami.

Dodatne in splošne metode zagona lupine

Obstajajo tudi zelo specifične metode za odpiranje lupine z zmogljivim Microsoftovim jezikom. Najbolj neroden, zlahka ga je najti izvršljiva datoteka in ga zaženite neposredno z lokacije v sistemu. Pojdimo do vašega sistema Windows 10 po naslednji poti:

C:\Users\uporabniško ime\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell

Kot rezultat boste videli mapo z bližnjicami, ki so prisotne v meniju Start, lahko jih zaženete.

Zaženete lahko tudi izvirno izvršljivo datoteko, ki se nahaja na poti:

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

In z desnim klikom nanj, ga lahko prenesete kot skrbnik, z največjimi pravicami.

Windows PowerShell lahko zaženete tudi iz okna ukazne vrstice; za to preprosto vnesite čarobno besedo in pritisnite Enter.

No, naj vas spomnim tudi na način zagona nove naloge iz snap-ina »Upravitelj opravil«. Odprite "Upravitelj opravil", izberite element menija "Datoteka - Zaženi novo opravilo"

V oknu, ki se prikaže, vnesite PowerShell.

No, zadnja metoda, ki mi je znana, je zagon PowerShell prek Windows Explorer 10, če želite to narediti, odprite Raziskovalec, izberite element menija "Datoteka - zaženite Windows PowerShell", na voljo bosta oba načina.

Kaj je PowerShell ISE

Verjetno ste opazili, da je bližnjica PowerShell ISE povsod, in radi bi vedeli, kaj je. Na kratko, to je posebna lupina, v kateri lahko pišete skripte in scenarije v lupini PowerShell z uporabo vse vrste cmdletov, ki vam jih ponuja Microsoft.

Powershell spreminjanje pisave je zelo preprosto, pojdite na zavihek Font v lastnostih, kjer lahko nastavite velikost od 5 do 72.

Do lastnosti lahko pridete tudi iz samega okna pripomočka, kliknite na ikono v zgornjem levem kotu in izberite lastnosti

Tu so nastavitve pisave nekoliko drugačne in s spreminjanjem se spreminja tudi velikost konzole.

Na zavihku Barve lahko nastavite barvo pisave v Powershellu in samem oknu. Tako, da je na primer črna, kot je ukazna vrstica.

Prav tako svetujem, da če ste aktivni uporabnik konzole, nastavite velikost medpomnilnika ne na 50 ukazov, ampak vsaj na 100.

Hvala za vašo pozornost. To so metode za odpiranje konzole Power Shell v sistemu Windows. Gradivo spletnega mesta

Izkušeni uporabniki operacijskih sob Windows sistemi 10 je morda že slišal za pripomoček ukazne vrstice PowerShell. Morda ga poznajo tudi tisti, ki imajo izkušnje z delom z Windows 7 in 8.1. Po dolgih letih uporabe ukazne aplikacije Windows nizi in .bat, je čas, da se seznanite z bolj funkcionalnim orodjem.

PowerShell je dragocen dodatek na seznamu Orodja Windows in njegov obseg lahko odvrne nekatere uporabnike. Kaj je to - skriptni jezik ali ukazna lupina? Ne skrbite: kljub obsežnim zmožnostim lahko PowerShell obvlada vsak.

1. korak: namestitev

Najprej potrebujemo sam pripomoček PowerShell. Če uporabljate Windows 10, že imate nameščen PowerShell 5. Windows Update Posodobitev ob 10. obletnici uporablja različico 5.1, vendar razlika ni opazna. Windows 8 in 8.1 uporabljata PowerShell 4, kar je tudi povsem dovolj. Namestitev PowerShell v Windows 7 ne bo povzročila težav, vendar boste vseeno morali narediti nekaj dodatnih korakov. Predvsem morate dodatno namestiti .Net Framework. Namestite lahko Windows Management Framework, ki vključuje PowerShell.

PowerShell ima dva vmesnika. Napredni uporabniki se lahko odločijo za celoten GUI vmesnik, znan kot integrirano skriptno okolje (ISE). Za začetnike je najbolje uporabiti konzolo PowerShell, preprost besedilni vmesnik v slogu ukazne vrstice Windows ali celo DOS 3.2.

Če želite zagnati PowerShell kot skrbnik v sistemu Windows 10, kliknite gumb Start in se pomaknite navzdol do Windows PowerShell. V sistemu Windows 8.1 poiščite lupino Windows PowerShell v mapi Sistem v sistemu Windows. V sistemu Windows 7 se lupina nahaja v mapi Pripomočki. Kot običajni uporabnik lahko PowerShell zaženete na povsem enak način z uporabo levi gumb miško namesto desne.

Iskanje lahko uporabite v kateri koli različici sistema Windows. Za lažjo prihodnjo uporabo lahko PowerShell pripnete na opravilno vrstico.

2. korak: Stari ukazi sistema Windows

Sintaksa ukazov Windows v PowerShell deluje kot običajno. na primer CD spreminjanje map, režija prikaže seznam vseh datotek in map v trenutni mapi.

Odvisno od tega, kako zaženete konzolo PowerShell, boste morda začeli c:\Windows\system32 ali v c :\Uporabniki\ . Primer na posnetku zaslona uporablja ukaz CD..(s presledkom), da se premaknete eno raven navzgor, nato zaženite ukaz režija za prikaz seznama datotek in map v imeniku C:\.

3. korak: Namestite datoteke pomoči

Ekipe kot CD in režija niso aktivni ukazi PowerShell. Gre za tako imenovane vzdevke – zamenjave za prave ukaze PowerShell. Vzdevki so uporabni za tiste, ki imajo bogate izkušnje z ukazno vrstico. Vendar se ne dotikajo globin PowerShell.

Če želite začeti uporabljati PowerShell, vnesite pomoč in ukaz, ki ga potrebujete. Posnetek zaslona prikazuje ukaz .

Ekipa pomoč pravi to režija je vzdevek za ukaz PowerShell Get-ChildItem. Če tipkate get-childitem V PS C:\>, boste videli isto kot pri uporabi ukaza režija.

Kot je navedeno na dnu posnetka zaslona, ​​se datoteke pomoči za PowerShell ne namestijo samodejno. Če jih želite pridobiti, zaženite PowerShell kot skrbnik in vnesite posodobitev-pomoč. Namestitev datotek pomoči bo trajala nekaj minut; lahko manjkajo številni moduli - v tem primeru na primer pomoč za NetWNV in SecureBoot nista bila nameščena. Ko je vse pripravljeno, bo celoten sistem pomoči vedno ponudil potrebne nasvete.

Zdaj vnesite ukaz Poišči pomoč in poljuben ukaz, ki vas zanima (»cmdlet« v PowerShell, cmdlet v ruščini), bo prikazan njegov opis. na primer get-help get-childitem prikaže seznam možnosti get-childitem. Prikažete lahko tudi drugače možne možnosti. Na primer

get-help get-childitem -primeri

nudi sedem podrobnih primerov uporabe get-childitem. Ekipa

get-help get-childitem -podrobno

vključuje teh sedem primerov in podrobne razlage vsakega parametra v ukazu cmdlet get-childitem.

4. korak: Poiščite pomoč pri nastavitvah

Na posnetku zaslona morda ste opazili dva seznama pod SINTAKSA Za get-childitem. Če imate dve različni sintaksi, pomeni, da obstajata dva načina za zagon ukaza cmdlet. Kako ohraniti sintakso ločeno eno od druge in kaj pomenijo parametri? Odgovor je preprost, če poznate trik.

Za podrobnosti o parametrih cmdlet get-childitem ali kateri koli drug parameter uporabe -poln:

get-help get-childitem -full

To vam daje seznam, kaj lahko naredite s cmdletom in kaj se bo zgodilo. Poglejte posnetek zaslona.

Če pregledate opise parametrov, boste opazili, da get-childitem omogoča pridobitev predmeta otrok(kot je ime podmape ali ime datoteke) na določeni lokaciji, z ali brez ujemajočih se določenih znakov. Na primer:

get-childItem “*.txt” -recurse

vrne seznam datotek "*.txt" v trenutni mapi in vseh podmapah (zaradi parametra -rekurzija). Ker

get-childitem “HKLM:\Programska oprema”

vrne seznam vseh registrskih ključev najvišje ravni v HKEY_LOCAL_MACHINE\Programska oprema.

Če ste kdaj poskušali vstopiti v register z ukazno vrstico Windows ali datotekami .bat, boste cenili funkcionalnost te možnosti dostopa.

5. korak: Učenje imen

Obstaja razlog, zakaj so doslej prikazani ukazi cmdlet podobni: get-childitem, update-help, get-help uporabite en sam glagolsko-imenski vzorec. Vsi ukazi cmdlet PowerShell uporabljajo to konvencijo; uporabljajo glagol pred enim samostalnikom. To bo všeč tistim, ki so nekoč trpeli zaradi nedoslednih imen ukazov v jezikih VB in VBA.

Oglejte si najpogostejše cmdlete:

set-lokacija: nastavi trenutno delovno lokacijo na določeno lokacijo

get-content: pridobi vsebino datoteke

get-item: Sprejema datoteke in mape

copy-item: kopira predmet z ene lokacije na drugo

odstrani-predmet: izbriše datoteke in mape

: Zažene procese v lokalnem ali oddaljenem računalniku

pridobi storitev: Zažene storitve v lokalnem ali oddaljenem računalniku

invoke-webrequest: Pridobi vsebino s spletne strani v internetu

Če si želite ogledati, kako deluje določen cmdlet, uporabite Poišči pomoč kot v primeru

get-help copy-item -full

Na podlagi opisa v pomoči lahko razumete, kaj cmdlet potrebuje. Na primer, če želite kopirati vse datoteke in mape iz Dokumenti V c:\temp, uporaba

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

Če vnesete ta ukaz, boste videli več zanimivih funkcij okolja PowerShell. Na primer, če tipkate kopija-i in pritisnite gumb Tab, PowerShell bo izpolnil Kopiraj-predmet. Če nepravilno vnesete cmdlet in ga PowerShell ne more prepoznati, je podan popoln opis, kaj je bilo storjeno narobe.

Preizkusite ta cmdlet:

invoke-webrequest askwoody.com

Dobili boste kratek seznam naslovov, slik, povezav in druge vsebine spletne strani. Prosimo, upoštevajte v Poišči pomoč na seznam invoke-webrequest, ki »vrne zbirko obrazcev, povezav, slik in drugih pomembnih elementi HTML" - točno tisto, kar bi moralo biti prikazano na zaslonu.

Nekateri cmdleti vam pomagajo pri upravljanju lupine PowerShell:

get-ukaz: seznam vseh razpoložljivih cmdletov

get-glagol: seznam vseh razpoložljivih glagolov

clear-host: Počisti zaslon gostiteljskega programa

Različni parametri vam omogočajo zmanjšanje ukazov in zoženje nabora uporabnih možnosti. Če si želite na primer ogledati seznam vseh cmdletov, ki delujejo s storitvami Windows, vnesite

get-command *-storitev

Prikazani bodo vsi glagoli, ki so na voljo s samostalnikom storitev. Tukaj je njihov seznam:

Get-Service

Nova storitev

Ponovni zagon storitve

Resume-Service

Set-Servis

Start-Service

Stop-Service

Prekinitev storitve

Te cmdlete lahko kombinirate z drugimi.

6. korak: Uporaba cevi

Če poznate Windows ukazno vrstico oz paketne datoteke, potem veste za preusmeritev in cevi. Preusmeritev (> simbol) in cevi (| simbol) vzamejo rezultat dejanja in ga pritrdijo na drugo lokacijo. Na primer, lahko preusmerite rezultat ukaza režija v besedilno datoteko ali posredujte rezultat ukaza ping ekipi najti za filtriranje zanimivih rezultatov, kot je

dir > temp.txt

ping askwoody.com | poiščite “packets” > temp2.txt

Tukaj v drugi ekipi najti išče niz paketi, povzeto z naslova askwoody.com ekipe ping in združi vse ujemajoče se vrstice v datoteko, imenovano temp2.txt.

Prvi od teh ukazov dobro deluje v lupini PowerShell. Za zagon drugega ukaza bi potrebovali nekaj podobnega

ping askwoody.com | paketi izbranih nizov | izhodna datoteka temp2.txt

Uporaba preusmeritve in cevi močno razširi zmožnosti ukazne vrstice Windows: namesto da bi se neskončno pomikali navzdol po zaslonu in iskali besedilni niz, lahko filtrirate ukaze Windows, ki jih potrebujete.

Powershell ima podporo cev, in ni omejeno na besedilo. PowerShell vam omogoča, da prenesete celoten objekt iz enega ukaza cmdlet v drugega, pri čemer je objekt kombinacija podatkov (imenovanih lastnosti) in dejanj (metod), ki lahko uporabljajo te podatke.

Težaven del nastopi pri razvrščanju predmetov. Objekti, ki jih posreduje en cmdlet, se morajo ujemati z vrsto objektov, ki jih sprejema prejemni cmdlet. Besedilo je zelo preprosta vrsta predmeta, tako da je, če delate z besedilom, poravnavanje predmetov preprosta naloga. Preostali predmeti niso tako osnovni.

Kako to razumeti? Uporabi cmdlet get-member. Če želite izvedeti, katero vrsto predmeta obdeluje cmdlet, ga zaženite get-member. Na primer, če poskušate razumeti procese, ki se izvajajo v računalniku, in ste svoje možnosti zožili na cmdlete , rezultat ukazov cmdlets najdete takole:

get-process | get-member

Zagon tega ukaza cmdlet ustvari dolg seznam lastnosti in metod za , vendar na samem začetku seznama lahko vidite vrsto predmeta, ki ustvarja :

TypeName: System.Diagnostics.Process

Lastnosti prikazuje tudi spodnji posnetek zaslona z naslovom get-process Ročaji, Ime, NPM, PM, SI, VM in W.S..

Če želite manipulirati z rezultatom Za delo s tem ukazom cmdlet (namesto prikazovanja dolgega seznama aktivnih procesov na monitorju) morate poiskati drug ukaz, ki sprejme kot vnos System.Diagnostics.Process. Če želite poiskati cmdlet, ki ga potrebujete, znova uporabite PowerShell:

get-command -Parametertype System.Diagnostics.Process

Ta ukaz cmdlet nudi seznam ukazov cmdlet, ki lahko obdelujejo System.Diagnostics.Process.

Nekateri cmdleti so znani po tem, da sprejemajo skoraj vse vrste podatkov. Glavni med njimi je . Ta ukaz cmdlet prehaja enega za drugim skozi vsak predmet, poslan skozi cev, in zanj uporabi navedena izbirna merila. Obstaja poseben marker, imenovan $_ , ki vam omogoča, da uporabite vsak element v cevi enega za drugim.

Recimo, da želite pridobiti seznam vseh procesov, ki se izvajajo v računalniku z imenom "svchost", to pomeni, da se želite ujemati z lastnostjo Ime postopek svchost. Uporabite ukaz:

get-process | where-object ($_.Name -eq “svchost”)

Cmdlet pogleda vsak predmet System.Diagnostics.Process, primerja .Ime ta objekt s "svchost"; če so ujemanja, so prikazana na monitorju. Poglejte posnetek zaslona.

7. korak: Analizirajte uporabne ukaze PowerShell

Zdaj že veste dovolj, da lahko poškodujete računalnik, zato bodite previdni. Poglejmo na primer pogosto zahtevane ukaze PowerShell.

Ti ukazi delujejo samo v sistemu Windows 10 in samo, če PowerShell zaženete kot skrbnik. Zasnovani so za ponovno namestitev vnaprej nameščenih Windows aplikacije 10 in je lahko koristen za tiste, ki so te programe najprej izbrisali in se nato odločili, da jih vrnejo. Ukazi izgledajo takole:

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

Če zaženete ta ukaz, prezrite rdeča opozorila in ko je ukaz dokončan, znova zaženite računalnik; vsi vnaprej nameščeni programi v sistemu Windows 10 bodo prikazani na svojih mestih.

Evo, kako ta ukaz deluje. Get-AppXPackage preveri vse pakete aplikacij v uporabniškem profilu. Tudi če aplikacijo izbrišete, ostane na seznamu uporabniških profilov.

Cmdlet Get-AppXPackage vrne predmet TypeName Microsoft.Windows.Appx.PackageManager.Commands.AppxPackage, kar vsebuje polno ime aplikacijski paket in lokacijo ustrezne datoteke manifesta XML. Če zaženete cmdlet get-appxpackage, boste videli dolg seznam paketov aplikacij. Posnetek zaslona prikazuje opis aplikacije Xbox.

Cmdlet Za vsakogar kroži skozi vsak predmet AppXPackage tako, da jih pošljete v cmdlet Add-AppxPackage. Po navedbah Poišči pomoč Za Add-AppxPackage, obstajata dve ključni stikali:

  • Stikalo -Registracija ki se uporablja za registracijo obstoječih namestitev paketov aplikacij, lahko nastavite parametre Onemogoči razvojni način in Registrirajte se
  • Stikalo -Onemogoči razvojni način pove sistemu Windows, naj znova registrira obstoječi paket aplikacij, ki je bil onemogočen, neregistriran ali poškodovan.

vrstica " $($_.InstallLocation)\AppXManifest.x ml« opisuje, kje se datoteka nahaja manifest.xml. Če pogledate datoteke AppXManifest.xml, boste videli zapleten seznam ID-jev aplikacij, izvedljivih datotek in veliko število vizualnih elementov, povezanih z aplikacijo.

Po ponovnem zagonu se prenesejo in namestijo vsi dodani paketi aplikacij Trgovina Windows Trgovina.

PowerShell je alternativna ukazna vrstica z obsežno funkcionalnostjo. Mnogi lastniki računalnikov, ki dobro poznajo sistemskih procesov, zanimajo možnosti uporabe na Windows 10 in prejšnje različice to programsko opremo za spreminjanje določenih procesov in nastavitev računalnika zase.

Pri uporabi lupine PowerShell ni nič zapletenega. Samo sledite vsem navodilom v tem članku in uspelo vam bo.

Če niste strokovnjak za to temo, šele začenjate preučevati ukazne vrstice in dejanja, ki jih je mogoče izvesti v njih, vam bo koristno vedeti odgovore na glavna vprašanja o uporabi takšne aplikacije. Na primer, kako zagnati Windows PowerShell ISE Windows 10 ter pisati in delati s skripti.

Kako odpreti PowerShell?

To je mogoče storiti v več na naslednje načine:

  • - aplikacijo boste našli na splošnem seznamu komponent pod črko W.
  • Uporaba iskanja v opravilni vrstici - odprite jo in vnesite besedo PowerShell za iskanje.
  • Z uporabo menija »Zaženi« ga zaženite s kombinacijo Win + R in napišite ime pripomočka, po katerem ga boste našli v sistemu.
  • V Commanderju nastavite dejanje PowerShell - vendar morate vedeti, da boste z aplikacijo delali skozi že zagnano vrstico in ne v ločenem oknu.
  • IN Nastavitve sistema Windows Izberite Lastnosti opravilne vrstice in meni Start. V zavihku »Navigacija« potrdite polje poleg možnosti »Zamenjaj«. ukazna vrstica PowerShell ..." Zdaj lahko omogočite pripomoček s kombinacijo Win+X.

Kako napisati in zagnati skripte?

Kako ustvariti skript PowerShell in ga zagnati? To lahko preprosto storite v beležnici - z njo označite ukaze, ki jih potrebujete v novem dokumentu. Nato ga shranite, vendar spremenite obliko v .ps1 - to je končnica, ki jo imajo datoteke tega sistemskega pripomočka.

V sami aplikaciji lahko pišete skripte takole:

  • Zaženite ga.
  • Kliknite element »Ustvari«.
  • Ali kliknite »Datoteka« in na seznamu, ki se prikaže, izberite »Ustvari«.
  • Napišite vse ukaze, ki jih je treba izvesti, shranite datoteko.

Skripte je še vedno mogoče pisati in urejati v FAR Managerju, vendar jih ni mogoče uporabiti neposredno v takšni aplikaciji, ker datoteke te vrste prikaže prek standardnega vrstica cmd. Vendar se druga dejanja izvajajo na enak način kot v "domačem" pripomočku.

Skript lahko zaženete na ta način:

  1. Prijavite se v PowerShell kot skrbnik.
  2. Uporabite ukaze cd, da določite lokacijo zahtevane datoteke. Na primer, e: cd\ cd delo .\ ime datoteke. Ps1 ali e: \work\ime datoteke.ps1
  3. V tem primeru je e: ime trdi disk kjer se datoteka nahaja.
  4. Pritisnite Enter.

Program vam bo ob prvem zagonu ukaza zagotovo prikazal sporočilo z besedilom »Datoteke ___ .Ps1 ni mogoče naložiti, ker je izvajanje skripta v tem sistemu prepovedano ...«. Dejstvo je, da je Windows zahvaljujoč razvijalcem opremljen z zaščito pred motnjami, tako da nobeden od uporabnikov privzeto nima dostopa za izvajanje takšnih dejanj. Toda to omejitev je mogoče zelo enostavno zaobiti.

kako Besedilo, ki se prikaže z napako, bo priporočilo, da vnesete ukaz get-help about_signing, da dobite več informacij. Lahko sledite tem navodilom ali pa uporabite daljinsko podpisano kombinacijo Set-ExecutionPolicy - po vnosu bo potrebna potrditev in omejitev bo odstranjena.

Druga vprašanja o uporabi

Veliko ljudi ima vprašanje: kako ugotoviti različico PowerShell? Če želite to narediti, naredite naslednje:

  1. Vnesite $PSVersionTable.
  2. Če to ne vodi do ničesar, potem imate različico 1.0 - zanjo obstaja ukaz $host.version.
  3. V nasprotnem primeru se bo pojavilo podrobne informacije o tem, katera različica aplikacije je nameščena v računalniku.

Od izdaje Windows 7 in Server 2008 je minilo več kot eno leto.

programerji, sistemski skrbniki in napredni uporabniki so našli veliko uporab za modro okno, podobno kot ukazna vrstica.

Večina začetnikov sploh ne ve, kaj je PowerShell (PS).

Toda skripti za PowerShell vam omogočajo, da avtomatizirate skoraj 100 % dejanj in skriptov, izvedenih v operacijski sistem prek ukazne vrstice in grafičnega vmesnika.

Spoznajmo glavne zmožnosti tega programa, pri čemer bomo več pozornosti namenili funkciji ustvarjanja in izvajanja skriptov (firmware).

Obstaja nešteto priročnikov in dokumentacije za program, tudi v ruščini. Namen članka– uporabniku posredovati konceptualno znanje, posodabljati, a ali je vredno pobliže spoznati tolmača in izvajanje skriptov v njem, se bo vsak odločil sam.

Kaj je Windows PowerShell?

PowerShell– tolmač, ki temelji na .NET Framework, opremljen z lastnim skriptnim jezikom.

Prvi pomeni, da dela v besedilni način: vnesete ukaz, ga zaženete in na ekranu vidite rezultat njegove izvedbe.

Kot je bilo v MS-DOS in starejših različicah UNIX-a.

Drugi bistveno poenostavi, pospeši in avtomatizira administracijo in vzdrževanje sistemov, aplikacij, procesov in povezanih storitev s strani skrbnikov in navadnih uporabnikov.

V primerjavi z drugimi tolmači, PS je drugačen:

  • integracija z – omogoča ustvarjanje zmogljivih skript z vnosom programske kode vanje;
  • vsi vrnjeni podatki so objekti, ne podatki o besedilu/nizu, kar pomeni, da se posredujejo drugim skriptom in kakor koli obdelajo.

PowerShell različica 2 ima naslednje zmogljivosti, Oglejmo si nekatere izmed njih podrobneje:

  • Sposobnost predstavitve ukazov kot cmdletov– zaženejo se znotraj tolmača, sicer se ukaz izvede v ločenem procesu.
  • Uporaba transporterjev– so zasnovani za prenos podatkov iz enega ukaza v drugega, pri čemer ohranjajo svojo strukturo in vrsto.
  • Integriran večtokovni prenos podatkov po omrežju z določanjem prednosti in ponovnim vzpostavljanjem povezave.
  • Podpora za položajne in imenovane parametre.
  • Delo v ozadju– asinhrono klicanje ukazov in zagon skriptov na oddaljenih strojih.
  • Nastavitev omejenih sej z oddaljene stranke in izvajanje skriptov na njih.
  • Moduli– način organiziranja skriptov, ko postanejo samozadostni in se izvajajo v svojem vsebniku brez vpliva na okolje modula.
  • Razpoložljivost orodja za obravnavo napak.
  • Grafično okolje za jezik: sintaksa, razhroščevalnik, označevanje, samodejno dokončanje ukazov s podporo za Unicode in zaznamki.
  • Dodajanje prelomnih točk v vrstice, ukazi, operacije in spremenljivke za odpravljanje napak v skriptu.
  • Blokovni in medvrstični komentarji.
  • Podpora za ustvarjanje vzdevkov za nekatere cmdlete, ki se v času izvajanja pretvorijo v navadne ukaze.
  • Ustvarjanje omejenih sej, kjer lahko izvajate strogo določen seznam ukazov in še veliko več.

Izvorna koda PowerShell je na voljo vsem: Vsak član skupnosti lahko poljubno ustvari lastne razširitve za povečanje funkcionalnosti tolmača ukazne vrstice.

Integrirani skriptni jezik lahko začnete obvladovati brez znanja programiranja.

Malo verjetno je, da boste lahko ustvarili zapleten scenarij, vendar bo skoraj vsakdo lahko izvajal zaporedja primitivnih dejanj.

Čeprav brez poznavanja osnovnih konceptov PowerShell, je malo verjetno, da boste lahko naredili karkoli v oknu tolmača ukazov. Začnimo z njimi.

Cmdlets

Cmdlets– svojevrstni ukazi PS, za katerimi se skrivajo najrazličnejše funkcije. Ukazi, vgrajeni v tolmač, se izvajajo na principu glagol-samostalnik, na primer Get-Process (pridobivanje seznama procesov). Ta rešitev vam omogoča, da razumete bistvo ukaza samo iz njegovega imena (v angleščini).

Nekateri cmdleti podpirajo prejemanje/prenos podatkov in nizov informacij, hkrati pa ohranjajo svojo strukturo in vrsto. Ta deluje na principu tekočega traku (o tem bomo govorili v naslednjem razdelku). Ne glede na to se cmdleti izvajajo in obdelujejo objekte po vrstnem redu.

Za implementacijo ukazov cmdlets je mogoče uporabiti vse podprte API-je .NET, ustvarjene v katerem koli jeziku .NET.

Tako ima uporabnik dostop do določenih funkcij programa.

Cmdleti lahko pridobijo dostop do zahtevanih informacij neposredno ali prek edinstvenih poti (črke pogona in poti do imenika).

Z uporabo cmdletov lahko delate s predmeti datotečni sistem in shramb potrdil, nameščene aplikacije in storitve.

Tekoči trak

Ko ustvarjate ne zelo primitivne skripte ali izvajate kakršne koli operacije s podatki, pridobljenimi kot rezultat skripta, morate včasih izvesti tudi nekaj dejanj.

Za to obstaja tekoči trak. Kot v UNIX-u združuje ukaze tako, da posreduje izhod enega ukaza cmdlet v vhod drugega, nespremenjen, pri čemer ohrani svoj tip.

V tem primeru ni potreben noben vsebnik ali razčlenjevanje informacij po znakih.

Posredovane informacije lahko vključujejo tudi funkcijo. Po končanem delu kombiniranih ukazov se funkcija pretvorbe informacij v pogled besedila(pretvorba podatkov v nize) z uporabo oblikovanja besedila.

Skripte

Kljub dejstvu, da vam lupina omogoča avtomatizacijo številnih dejanj, morate ukaze vnesti ročno, kar ni zelo priročno.

Še posebej, ko je treba iste operacije izvajati znova in znova.

In brez človeškega faktorja ne gre: tipkarske napake, napake, nenamerno pritiskanje tipk pri pisanju vrstic kode, popravljanje ali ponovno tipkanje vrstice zahteva uporabniku prijaznejši odnos.

Za izvajanje monotonih verig dejanj v PS so implementirani skripti - besedilne datoteke z zaporedjem ukazov znotraj, ki so razumljivi tolmaču.

Skripte v lupini PowerShell bodo dodatno poenostavile in avtomatizirale delo na osebnem računalniku in njegovo vzdrževanje, še posebej, če skripta vsebuje veje, pogoje, logične operacije in ciklov.

Toda tukaj »ni vse zlato, kar se sveti«: pisanje lastnega scenarija ali nalaganje že pripravljenega (čeprav ga nekoliko prilagodite svojim ciljem) ne bo šlo tako enostavno.

Če vMicrosoftje bilo dovoljeno ne glede na to, koliko težav naredil scenarije zaPowerShell , ki so jih napisali prevaranti in slabovoljci v sebične ali huliganske namene.

Če želite delovati v sistemu Windows PS, morate opraviti njegov nadzor zagona.

Če ne uspe in je treba skript izvesti, boste morali spremeniti konfiguracijo objektov, ki so odgovorni za varnost makrov.

Pred uporabo skriptov

Pri uporabi VBS se pojavijo številne težave, ki so se jih razvijalci PowerShell popolnoma znebili, če varnost skripta ni znižana, da bi zadovoljili zahteve skripta uporabnika ali rešili težave, povezane s stopnjo varnosti operacijskega sistema.

Zagon prenesenega skripta na uporabnikovem računalniku je preprosta in učinkovita možnost za širjenje zlonamerne programske opreme. programsko opremo ali krajo osebnih podatkov s strani napadalcev.

Vse se zgodi zaradi osnovnega nepoznavanja vsebine skriptne datoteke (ps1) in želja po hitrem reševanju svojih težav na račun dela drugih. Objekti, ki nadzorujejo raven varnosti izvajanja skripta, ustvarijo okolje, v katerem je nemogoče zagnati skript.

Do namernega zagona makrov pride po spremembi stopnje varnosti, če uporabnik da zeleno luč, zaveda se, kaj počne, in zagotovo ve, kaj je v datoteki *.ps1.

Ker je varnostna konfiguracija neprijetna za ljudi, ki morajo izvajati in izvajati svoje lastne skripte, je možno spremeniti konfiguracijo.

Tukaj lahko zmanjšate zaščito na minimum ali pa modro manevrirate med možnostjo odpiranja lukenj za prodor in enostavnostjo dela s PowerShell.

Lupina ima tri stopnje varnosti:

  • sistem ne prepozna datotek s pripono ps1 kot izvršljive in so označene kot neznane ali besedilne (z dvojnim klikom se odprejo v privzetem urejevalniku besedil, ki se uporablja v računalniku);
  • Lupina vam omogoča izvajanje skriptov po določitvi njihove celotne poti, skriptne datoteke v trenutnem imeniku niso preiskane, kar onemogoča izvajanje makrov v trenutnem imeniku;
  • izvajanje vgrajenega skripta pravilnika o izvajanju, odgovoren za dodajanje zahtevanega na seznam dovoljenih skriptov.

Nikar ne razmišljajte o spremembi konfiguracije, znižanje vsaj na drugo stopnjo, ne da bi se seznanili z osnovamiPowerShelldokler ne začnete vsaj površno razumeti vsebine *.ps1.

Obstaja tudi koncept pravilnika izvajanja, ustvarjen za preprečevanje nenamernega izvajanja skriptov. Obstaja pet nastavitev pravilnika za zagon:

  • omejeno – privzeto nameščen, se izvajajo le skripti, ki jih je podpisal Microsoft, kar vam omogoča pridobivanje informacij o strojni opremi in lupina računalnik;
  • imeti podpis izbrisane datoteke – izvajate lahko vse makre, vendar morajo biti datoteke, poslane po pošti, podpisane;
  • imeti digitalni podpis iz zanesljivega vira– vsi podpisani skripti se izvajajo;
  • neomejeno– zagon poljubnih makrov;
  • obvod– so namenjeni programerjem, ki ustvarijo lasten varnostni sistem, namesto da uporabljajo tistega, ki je na voljo v lupini.

Trenutno stanje pravilnika o izvajanju lahko preverite z ukazom »Get-ExecutionPolicy«.Ne glede na varnostno politiko uporabnik ne bo mogel zagnati skripta, ki vsebuje ukaze, za izvajanje katerih nima dovolj privilegijev.

Zagon PowerShell

Čas je, da preidemo od teorije k praksi. Torej, za izvajanje skriptov morate pridobiti digitalni podpis ali (druga možnost je preprostejša).

Okno PowerShell lahko odprete na več načinov.

Predstavljen je v dveh oblikah:

  • klasična konzola;

  • PowerShell ISE - doda podporo za zavihke, sintakso, kontekstualno pomoč, kontekstualne in glavne menije, kar močno olajša delo v tolmaču.

Začetek

PS najlažje pokličete prek Starta.

  1. Odprite meni(v sistemu Windows 7 kliknite »Vsi programi«).
  2. Pojdite v imenik Windows PowerShell in kliknite želeno ikono.

riž. 4 – Zaženite PS prek Start

PS lahko pokličete tudi prek integriran iskalni sistem.

Tolmač ukazov

Kdo ima rad nestandardne in hitre načine zaženite, uporabite okno »Zaženi«. Odpre se z istoimenskim gumbom v Start in kombinacijo tipk Win + R.

V pogovornem oknu pišemo "powershell" in pritisnite “Enter”.

Win+X

V sistemu Windows 10 lahko PS prikličete iz menija WinX. Dejstvo je, da privzeto s klikom na ukaz "Ukazna vrstica" odpri CMD. Lahko ga nadomestite s PowerShell.

Odprite »Lastnosti« v opravilni vrstici, v zavihku »Navigacija« označite edino možnost in shranite nastavitve.

PowerShell lahko pokličete prek ukazne vrstice tako, da vanjo napišete »powershell« ali tako, da zaženete izvršljivo datoteko po poti: %WINDIR%\ System32\ WindowsPowerShell\v1.0 za 32-bitne sisteme in pri %WINDIR%\ syswow64\ WindowsPowerShell\v1.0 za 64-bit Windows katerikoli uredniki.

riž. 8 – Zaženite PS iz imenika, kjer je shranjena njegova izvršljiva datoteka

Nastavitev varnostne politike

Malo levo– dovoli lupini PowerShell izvajanje skriptov. Vnesite ukaz »Set-ExecutionPolicy RemoteSigned« in pritisnite »Y«.

To je vse. Zdaj lahko zaženete poljubne cmdlete in skripte. Poskusimo, na primer, prikazati seznam aktivnih procesov z izvedbo "Get-Process".

Izvajanje skriptov

Skripte lahko ustvarite v poljubnem (bolje je, da se držite Win-a ali nečesa podobnega, s podporo za sintakso ali validacijo) ali v programu PowerShell ISE.

Slednji omogoča priročen dostop do cmdletov, možnost zagona, odpravljanja napak in shranjevanja skriptov.

Predpostavimo, da ste napisali svoj prvi skript (to je za pridobitev seznama tekočih procesov), ga shranili prek menija "Datoteka" in ga morate zagnati. To se naredi na tri načine:

1 Celotno pot do skripta napišemo v PowerShell (ali ISE);

riž. 13 – Izvajanje skriptov iz okna PowerShell ISE

Pomembno tako da na poti do datoteke ni presledkov!

PowerShell– zmogljivo orodje za poenostavitev rutinskih operacij v Server 2008 in novejših. Pomembna prednost lupine PowerShell so skripti in razpoložljivost različica programa iz grafični vmesnik PS ISE. Ukazi v njem so predstavljeni v obliki cmdletov, kar vam bo omogočilo, da se seznanite z lupino in razumete pomen posameznega ukaza. Varnostna politika začetniku ne bo dovolila, da bi poškodoval svoj računalnik skripti, prejeti iz neznanih virov, in način odpravljanja napak, ustvarjanje lastnih cmdletov, funkcij in mehanizmov za obravnavo napak odpirajo neomejene možnosti za programerje in skrbnike.