Powershell-komentosarjat on poistettu käytöstä. Powershell: kuinka työskennellä ohjelman kanssa, luoda, suorittaa ja muokata komentosarjoja

PowerShell-komentosarjan suorittaminen

Tämä huomautus on omistettu asetusten kuvaamiseen vaaditut parametrit alkuun PowerShell käsikirjoituksia. Useammin ensimmäisen käynnistyksen yhteydessä .ps1 skripteissä näet seuraavat virheet:

Tiedosto Ei voi ladata. Tiedosto ei ole digitaalista allekirjoitusta. Skriptiä ei suoriteta järjestelmässä. Saada haltuunsa lisäinformaatio, kirjoita komento "Get-Help about_signing".
Tiedosto ei voi ladata. Tiedosto ei ole digitaalisesti allekirjoitettu. Skripti ei toimi järjestelmässä. Katso lisätietoja kohdasta "Allekirjoitusohjeita".

Käynnistätkö ohjelman epäluotettavalta julkaisijalta? Tiedosto julkaisija CN= Tämä järjestelmä ei ole merkinnyt tätä julkaisijaa luotetuksi. Sinun tulee suorittaa vain luotettujen julkaisijoiden skriptejä.
[V] Älä koskaan suorita [D] Älä suorita [R] Suorita kerran [A] Suorita aina [?] Ohje (oletus "D"):
Tehdä haluat käyttää tämän epäluotettavan julkaisijan ohjelmistoja? Tiedosto on julkaissut CN= Tämä julkaisija ei ole järjestelmässäsi luotettava. Suorita vain luotettujen julkaisijoiden skriptejä.
[V] Älä koskaan suorita [D] Älä suorita [R] Suorita kerran [A] Suorita aina [?] Ohje (oletus on "D"):

Nämä virheet ja viestit johtuvat käytäntöasetuksista Windowsin suoritus PowerShell. Sinun ei kuitenkaan pidä ajatella, että nämä parametrit todella lisäävät käyttöjärjestelmän turvallisuutta, koska koodi toimii silti, jos kopioit sen PowerShell-konsoliin. Siten suojausasetukset voidaan poistaa käytöstä - ne suojaavat vain vahingossa tapahtuvilta toimilta. Siksi yleensä Tämä ongelma päättää joukkueena:

Set-Execution Policy Unrestricted LocalMachine

Tämä lähestymistapa ei tietenkään sovellu yritysympäristöön, joten katsotaanpa tätä tilannetta tarkemmin. Katso nykyiset asetukset käytännöt kaikilla sovellusalueilla voidaan suorittaa suorittamalla cmdlet Get-Execution Policy luetteloparametrilla.

get-executionpolicy -lista

Laajuus Toteutuspolitiikka
—— —————
MachinePolicy Rajoittamaton
UserPolicy Määrittämätön
Käsitellä asiaa Etäallekirjoitettu
Nykyinen käyttäjä Kaikki allekirjoitettu
Paikallinen kone Rajoitettu

Tällä käytännöllä voi olla 6 arvoa:

Rajoitettu(Käytäntö suoritetaan oletuksena. Jos esimerkiksi kaikki sovellusalueet on asetettu määrittämättömiksi)
— Sallii erilliset joukkueet, mutta skriptejä ei voida suorittaa.
- Estää kaikkien komentosarjatiedostojen suorittamisen, mukaan lukien muoto- ja asetustiedostot (PS1XML), moduulikomentosarjatiedostot (PSM1) ja Windows-profiilit PowerShell (PS1).

Kaikki allekirjoitettu

- Edellyttää, että kaikki komentosarjat ja määritystiedostot ovat luotettavan julkaisijan allekirjoittamia, mukaan lukien ohjelmassa valmistetut komentosarjat. paikallinen tietokone.
- Varoitukset annetaan ennen sellaisten julkaisijoiden komentosarjojen suorittamista, joita ei ole vielä määritetty luotettaviksi.
— On olemassa vaara, että allekirjoittamattomia komentosarjoja suoritetaan muista lähteistä kuin Internetistä, samoin kuin allekirjoitettuja mutta haitallisia komentosarjoja.

Etäallekirjoitettu
— Skriptien suorittaminen on sallittua.
— Edellyttää, että luotettavan julkaisijan on allekirjoitettava digitaalisesti Internetistä ladatut skriptit ja määritystiedostot (mukaan lukien sähköposti ja pikaviestiohjelmat).
— Ei vaadi digitaalisia allekirjoituksia skripteille, jotka suoritetaan ja kirjoitetaan paikallisella tietokoneella (ei ladattu Internetistä).
— On olemassa riski allekirjoitettujen mutta haitallisten komentosarjojen suorittamisesta.

Rajoittamaton
- Allekirjoittamattomat skriptit voidaan suorittaa. (On olemassa vaara, että suoritetaan haitallisia komentosarjoja.)
- Varoittaa käyttäjää ennen Internetistä ladattujen komentosarjojen ja asetustiedostojen suorittamista.

Ohittaa
— Mitään ei ole estetty, eikä varoituksia tai pyyntöjä näy.
- Tämä suorituskäytäntö on tarkoitettu kokoonpanoille, joissa Windows-skripti PowerShell on upotettu suurempaan sovellukseen tai kokoonpanoihin, joissa Windows PowerShell on alusta ohjelmalle, jolla on oma suojausmalli.

Määrittämätön
— Nykyiselle laajuudelle ei ole asetettu suorituskäytäntöä.
- Jos suorituskäytäntö kaikilla aloilla on Undefined, suorituskäytäntö on Restricted, joka on oletussuorituskäytäntö.

Tämä käytäntö ja asetukset koskevat viittä aluetta:

MachinePolicy Ja UserPolicy määritetään AD-käytännöillä tai paikallisia poliitikkoja tästä tietokoneesta.
Käsitellä asiaa— Soveltamisala: nykyinen istunto. Ohje kertoo, että sen arvo on tallennettu muuttujaan $PSExecutionPolicyPreference, mutta tämän käytännön arvoa ei ole mahdollista saada/muuttaa muuttujan kautta. Tälle sovellusalueelle tehdyt muutokset eivät vaikuta muihin istuntoihin.
Nykyinen käyttäjä— nykyisen käyttäjän laajuus. Sen arvo on tallennettu rekisteriavaimeen HKEY_CURRENT_USER ("HKEY_CURRENT_USER\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell\ExecutionPolicy").
Paikallinen kone— Soveltamisala kaikkiin nykyisen tietokoneen käyttäjiin. Se on tallennettu rekisteriavaimeen HKEY_LOCAL_MACHINE("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\ScriptedDiagnostics\ExecutionPolicy").

Joukkue get-execution politiikka on -Scope-parametri. Tällä parametrilla voit valita laajuuden, jolle käytännön arvo näytetään.

Get-ExecutionPolicy -laajuusprosessi

cmdlet-ajon tulos: Etäallekirjoitettu

Samanaikaisesti sovellusalueet ovat etusijalla, MachinePolicylla on korkein prioriteetti, sitten UserPolicylla, Processilla, CurrentUserilla ja LocalMachinella on alhaisin prioriteetti.
Siksi esimerkissä:

Laajuus Toteutuspolitiikka
—— —————
MachinePolicy Rajoittamaton
UserPolicy Määrittämätön
Käsitellä asiaa Etäallekirjoitettu
Nykyinen käyttäjä Kaikki allekirjoitettu
Paikallinen kone Rajoitettu

Nykyisessä istunnossa tuloksena oleva käytäntö on rajoittamaton.

Jotta voit selvittää komentosarjan suorituskäytännön arvon tietylle istunnolle, sinun on käytettävä Get-ExecutionPolicy-cmdlet-komentoa ilman parametreja.

Johtopäätös: Rajoittamaton

Komentosarjan suorituskäytännön muuttaminen PowerShell:

Voit muuttaa PowerShell-komentosarjan suorituskäytäntöjen arvoa Set-ExecutionPolicy-cmdletillä.
Tällä cmdletillä on seuraavat parametrit:

-Täytäntöönpanopolitiikka
Ilmaisee politiikan arvon. Voi olla seuraavat arvot: Restricted, AllSigned, RemoteSigned, Unrestricted, Bypass, Undefined. Tämä parametri täsmennettävä. Jos sitä ei ole määritetty, comadlet pyytää arvoja ajon aikana.

Johtopäätös:
Määritä arvot seuraaville parametreille:
Toteutuskäytäntö:

- Laajuus
Määrittää tämän käytännön laajuuden. Voi olla seuraavat arvot: LocalMachine, Process, CurrentUser. Jos laajuusparametria ei ole määritetty, oletusarvo on LocalMachine.

Set-Execution Policy - Suorituskäytäntö Rajoittamaton - Soveltamisala prosessi

Set-ExecutionPolicy Rajoittamaton prosessi

-Pakottaa
Tällä parametrilla cmdlet ei vaadi käyttäjän vahvistusta. Esimerkiksi:

Set-ExecutionPolicy Rajoittamaton prosessi -Pako

cmdlet ei näytä mitään ja käyttää käytäntöarvoa.

-Vahvistaa
Jos päinvastoin yksi vahvistus ei riitä sinulle. Voit määrittää Confirm-parametrin ja saat toisen, ylimääräisen pyynnön toimintojesi vahvistamiseksi:

Set-Execution Policy -Suorituskäytäntö Rajoittamaton -Scope Prosessi -vahvista

Toteutuksen tulos:

Vahvistus
Haluatko varmasti suorittaa tämän toiminnon?
Suoritetaan "Set-ExecutionPolicy" -toiminto kohdeobjekti"Rajoittamaton".
[Y] Kyllä - K [A] ​​Kyllä kaikille - A [N] Ei - N [L] Ei kaikille - L [S] Keskeytä - S [?] Ohje (oletusarvo on "Y"):

Toteutuskäytännön muuttaminen
Suorituskäytäntö suojaa tietokonettasi epäluotettavilta komentosarjoilta. Suorituskäytännön muuttaminen voi vaarantaa järjestelmän suojauksen, kuten about_Execution_Policies-komennon ohjeaiheessa on kuvattu. Haluatko muuttaa toteutuskäytäntöä?
[Y] Kyllä - K [N] Ei - N [S] Keskeytä - S [?] Ohje (oletusarvo on "Y"):. exe -executionpolicy Rajoittamaton

Get-ExecutionPolicy -lista

Toteutuksen tulos:

Laajuus Toteutuspolitiikka
—— —————
MachinePolicy Rajoittamaton
UserPolicy Määrittämätön
Käsitellä asiaa Etäallekirjoitettu
Nykyinen käyttäjä Kaikki allekirjoitettu
Paikallinen kone Rajoitettu

Komentosarjan käynnistyskäytäntöasetusten muuttaminen ryhmäkäytäntöjen avulla.

Ryhmäkäytännössä komentosarjojen käynnistämistä ohjaava parametri sijaitsee polun varrella:

varten MachinePolicy:

Tietokoneen asetukset/Käytännöt/Hallintamallit/Windowsin komponentit/Windows PowerShell

Tietokoneen kokoonpano/hallintamallit/Windowsin komponentit/Windows PowerShell

varten UserPolicy:
Käyttäjämääritykset/Käytännöt/Hallintamallit/Windowsin komponentit/Windows PowerShell

Käyttäjämääritykset/Hallintamallit/Windowsin komponentit/Windows PowerShell

Suorituskäytäntö-parametri voi ottaa 3 arvoa.

PowerShell on vaihtoehtoinen komentorivi, jossa on laajat toiminnot. Monet tietokoneen omistajat, jotka ovat hyvin perehtyneet asiaan järjestelmäprosessit, ovat kiinnostuneita sen käyttömahdollisuuksista Windows 10:ssä ja aiemmat versiot Tällä ohjelmistolla voit muuttaa tiettyjä prosesseja ja tietokoneen asetuksia itse.

Käytössä PowerShell-ohjelmat ei ole mitään monimutkaista. Noudata vain kaikkia tämän artikkelin ohjeita ja onnistut.

Jos et ole tämän aiheen asiantuntija, olet vasta aloittamassa komentorivien ja niissä suoritettavien toimintojen tutkimista, sinun on hyödyllistä tietää vastaukset tärkeimpiin kysymyksiin tällaisen sovelluksen käytöstä. Esimerkiksi Windows PowerShell ISE Windows 10:n käyttäminen ja komentosarjojen kirjoittaminen ja niiden käyttäminen.

Kuinka avata PowerShell?

Tämä voidaan tehdä useissa seuraavilla tavoilla:

  • - Löydät sovelluksen yleisestä komponenttiluettelosta W-kirjaimen alta.
  • Tehtäväpalkin haun käyttäminen - avaa se ja etsi sana PowerShell.
  • Suorita-valikon avulla suorita se Win + R -yhdistelmän läpi ja kirjoita apuohjelman nimi, jonka jälkeen se löytyy järjestelmästä.
  • Aseta Commanderissa PowerShell-toiminto, mutta sinun pitäisi tietää, että työskentelet sovelluksen kanssa juokseva linja, eikä erillisessä ikkunassa.
  • SISÄÄN Windowsin asetukset Valitse Tehtäväpalkin ominaisuudet ja Käynnistä-valikko. Valitse "Navigointi"-välilehdellä "Korvaa" -valintaruutu. komentorivi PowerShell..." Nyt voit ottaa apuohjelman käyttöön Win + X -yhdistelmällä.

Kuinka kirjoittaa ja ajaa skriptejä?

Kuinka luoda PowerShell-skripti ja suorittaa se? Tämä voidaan tehdä yksinkertaisesti muistikirjassa - ilmoita sen avulla tarvitsemasi komennot uudessa asiakirjassa. Tallenna se sitten, mutta vaihda muotoon .ps1 - tämä on tämän järjestelmäapuohjelman tiedostojen laajennus.

Voit kirjoittaa skriptejä itse sovellukseen seuraavasti:

  • Käynnistä se.
  • Napsauta "Luo" -kohtaa.
  • Tai napsauta "Tiedosto" ja valitse "Luo" näkyviin tulevasta luettelosta.
  • Kirjoita kaikki suoritettavat komennot, tallenna tiedosto.

Skriptejä voidaan myös kirjoittaa ja muokata FAR Manager, mutta niitä ei voi käyttää suoraan tällaisessa sovelluksessa, koska se näyttää tämän tyyppiset tiedostot standardin kautta cmd rivillä. Muut toiminnot suoritetaan kuitenkin samalla tavalla kuin "natiivi"-apuohjelmassa.

Voit ajaa skriptin seuraavasti:

  1. Kirjaudu PowerShelliin järjestelmänvalvojana.
  2. Määritä vaaditun tiedoston sijainti cd-komennoilla. Esimerkiksi e: cd\ cd work .\ tiedostonimi. Ps1 tai e: \työ\tiedostonimi.ps1
  3. Tässä tapauksessa e: on nimi kovalevy missä tiedosto sijaitsee.
  4. Paina Enter.

Ohjelma näyttää varmasti viestin, jossa on teksti "Tiedostoa ___ .Ps1 ei voi ladata, koska komentosarjan suorittaminen on kielletty tässä järjestelmässä...", kun suoritat komennon ensimmäisen kerran. Tosiasia on, että Windows on varustettu häiriösuojauksella kehittäjien ansiosta, joten kukaan käyttäjistä ei oletuksena voi suorittaa tällaisia ​​toimintoja. Mutta tämä rajoitus voidaan kiertää erittäin helposti.

Miten? Teksti, joka tulee näkyviin virheen kanssa, suosittelee get-help about_signing -komennon antamista saadaksesi lisää tietoa. Voit seurata näitä ohjeita tai käyttää etäallekirjoitettua Set-ExecutionPolicy-yhdistelmää - sen syöttämisen jälkeen vaaditaan vahvistus ja rajoitus poistetaan.

Muita käyttöä koskevia kysymyksiä

Monilla ihmisillä on kysymys: kuinka saada selville PowerShellin versio? Voit tehdä tämän seuraavasti:

  1. Kirjoita $PSVersionTable.
  2. Jos tämä ei johda mihinkään, sinulla on versio 1.0 - sille on $host.version-komento.
  3. Muuten se tulee näkyviin yksityiskohtainen tieto mikä sovelluksen versio on asennettu tietokoneeseen.

Useimmat olemassa olevat vastaukset selittävät Miten, mutta vain harvat selittävät miksi. Ja ennen kuin alat suorittaa koodia tuntemattomilta Internetissä, erityisesti koodia, joka poistaa suojaustoimenpiteet käytöstä, sinun on ymmärrettävä tarkasti, mitä olet tekemässä. Joten tässä on hieman yksityiskohtaisempaa tietoa tästä ongelmasta.

Windows PowerShellin suorituskäytäntöjen avulla voit määrittää ehdot, joissa Windows PowerShell lataa määritystiedostoja ja suorittaa komentosarjoja.

Edut, jotka on lueteltu kohdassa PowerShell Basics - Suorituskäytäntö ja koodin allekirjoitus:

  • Toteutuksen valvonta. Hallitse komentosarjan suorittamisen luottamustasoa.
  • Komenna Highjack. Estää käskyjen syöttämisen tielleni.
  • Henkilöllisyystodistus. Onko komentosarjan luonut ja allekirjoittanut kehittäjä, johon luotan, ja/tai allekirjoittanutko sen luotettavan varmenteen myöntäjän varmenteella?
  • Rehellisyys. Skriptejä ei voi muuttaa haittaohjelma tai haitallisia käyttäjiä.

Voit tarkistaa nykyisen suorituskäytännön suorittamalla Get-ExecutionPolicyn. Mutta olet todennäköisesti täällä, koska haluat muuttaa sen.

Voit tehdä tämän suorittamalla Set-ExecutionPolicy-cmdlet-komennon.

Kun päivität toteutuskäytäntöäsi, sinun on tehtävä kaksi tärkeää päätöstä.

Toteutuskäytännön tyyppi:

  • Rajoitettu† - Mitään komentosarjaa ei voi suorittaa järjestelmässä paikallisella, etä- tai ladatulla tiedostolla.
  • Kaikki allekirjoitettu. Kaikki käynnissä olevat skriptit vaativat digitaalisen allekirjoituksen.
  • Etäallekirjoitettu- Kaikki etäskriptit(UNC) tai lataukset on allekirjoitettava.
  • Rajoittamaton- minkään tyyppiselle skriptille ei vaadita allekirjoitusta.

Uuden muutoksen laajuus

  • Paikallinen kone† - Suorituskäytäntö vaikuttaa kaikkiin tietokoneen käyttäjiin.
  • Nykyinen käyttäjä. Suorituskäytäntö vaikuttaa vain nykyiseen käyttäjään.
  • Käsitellä asiaa. Toteutuskäytäntö vaikuttaa vain nykyiseen Windows-prosessi PowerShell.

† = Oletusarvo

Esimerkki: Jos haluat muuttaa käytännön vain RemoteSigned for CurrentUserille, suorita seuraava komento:

Set-Execution Policy -Suorituskäytäntö Etäallekirjoitettu -Scope CurrentUser

Huomautus. Jos haluat muuttaa suorituskäytäntöä, sinun on suoritettava PowerShell järjestelmänvalvojana. Jos olet mukana normaalitila ja yritä muuttaa saamaasi toteutuskäytäntöä seuraava virhe:

Pääsy rekisteriavaimeen "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" on estetty. Jos haluat muuttaa oletusalueen (LocalMachine) suorituskäytäntöä, käynnistä Windows PowerShell Suorita järjestelmänvalvojana -vaihtoehdolla.

Jos haluat tiukentaa sisäisiä rajoituksia omille skripteillesi, joita ei ole ladattu Internetistä (tai vähintään, eivät sisällä UNC-metatietoja), voit pakottaa käytännön suorittamaan allekirjoitettuja komentosarjoja. Voit allekirjoittaa omat skriptisi noudattamalla Scott Hanselmanin artikkelin Sign PowerShell Scripts ohjeita.

Huomautus. Useimmat ihmiset voivat saada tämän virheen, kun he avaavat Powershellin, koska ensimmäinen asia, jonka PS yrittää tehdä käynnistyessään, on suorittaa käyttäjäprofiilinsa komentosarja, joka määrittää ympäristösi, mutta sinä pidät siitä.

Tiedosto sijaitsee yleensä kansiossa

%UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1

voit löytää tarkka sijainti suorittamalla powershell-muuttuja

$profiili

Jos profiilissa ei ole mitään, josta välität, etkä halua huolehtia suojausasetuksistasi, voit yksinkertaisesti poistaa sen, jolloin powershell ei löydä mitään, johon se ei pysty.

Oletusskriptin suoritus Windows PowerShell kielletty järjestelmässä. Turvallisuussyistä kaikki PowerShell-komentosarjat on allekirjoitettava digitaalinen allekirjoitus, tätä menetelmää nimeltään - täytäntöönpanopolitiikka. Jos komentosarja ei täytä tätä ehtoa, suoritetaan suoritus PowerShell-skriptit kielletty järjestelmässä. Tämä johtuu ensisijaisesti siitä, että komentosarja saattaa sisältää haitallista koodia, joka voi vahingoittaa käyttöjärjestelmää.


PowerShellillä on useita suoritusmuotoja, jotka määrittävät, minkä tyyppisen koodin saa suorittaa. Niitä on 5 erilaisia ​​tiloja toteutus:

Rajoitettu
Oletusarvo. Kaikkien komentosarjojen suorittaminen on estetty ja interaktiivisten komentojen käyttö on sallittu.
Kaikki allekirjoitettu
Skriptien suorittaminen digitaalisella allekirjoituksella on sallittua.
Etäallekirjoitettu
Paikalliset skriptit toimivat ilman allekirjoitusta. Kaikki ladatut skriptit on allekirjoitettava digitaalisesti.
Rajoittamaton
Kaikkien komentosarjojen suorittaminen on sallittua. Kun suoritat Internetistä ladattua allekirjoittamatonta komentosarjaa, ohjelma saattaa vaatia vahvistuksen.
Ohittaa
Mitään ei ole estetty, varoituksia tai pyyntöjä ei näy.

PowerShellin oletustila on "rajoitettu". Tässä tilassa PowerShell toimii interaktiivisena kuorena. Jos et ole määrittänyt PowerShellia aiemmin, komentosarjan sijasta näet punaisella fontilla kirjoitetun virheilmoituksen, kuten alla olevassa kuvakaappauksessa.

Eniten turvallisella tavalla Ratkaisu tähän ongelmaan on muuttaa suorituskäytäntö rajoittamattomaksi, suorittaa komentosarja ja palata sitten takaisin rajoitettuun käytäntöön.

Jos haluat muuttaa toteutuskäytännön rajoittamattomaksi, käytämme PowerShell-konsoli järjestelmänvalvojan oikeuksilla ja suorita seuraava komento:

Y (Joo)

Nyt voit ajaa skriptin. Altistat kuitenkin järjestelmän vakavalle riskille, joten kun komentosarja on valmis, muista asettaa suorituskäytäntö takaisin rajoitettu tila. Voit tehdä tämän käyttämällä seuraavaa komentoa:

Komennon suorittamisen jälkeen sinua pyydetään vahvistamaan suorituskäytännön muutos. Me vastaamme Y (Joo)

Kaikkien komentosarjojen suorittaminen on estetty. Oletusarvo.

Set-ExecutionPolicy Restricted

Digitaalisella allekirjoituksella varustettujen komentosarjojen suorittaminen on sallittua.

Paikallisella tietokoneella valmistetut skriptit voidaan ajaa ilman rajoituksia, Internetistä ladatut skriptit - vain digitaalisella allekirjoituksella.

Set-ExecutionPolicy RemoteSigned

Kaikkien komentosarjojen suorittaminen on sallittua. Kun suoritat Internetistä ladattua allekirjoittamatonta komentosarjaa, ohjelma saattaa vaatia vahvistuksen.

Set-ExecutionPolicy Rajoittamaton

Mitään ei ole estetty, varoituksia tai pyyntöjä ei näy.

Jos haluat suorittaa yllä olevat komennot vahvistamatta muutosta, käytä vaihtoehtoa
  -Pakota, esimerkiksi suorita komento:

Set-Execution Policy Bypass -Pako

Nyt komentoja suoritettaessa sinun ei tarvitse vahvistaa tehtyjä muutoksia.

Niitä on muutama eri tavoilla skriptiä ajettaessa alla on tärkeimmät:

  1. Käynnistä PowerShell ja suorita siinä oleva komentosarja (kirjoita tiedoston polku ja tiedoston nimi, esimerkiksi näin: C:\Scripts\test.ps1 tai mene komentosarjakansioon komennolla cd C:\Scripts ja suorita se komennolla.\test.ps1) Kuori voidaan löytää ja käynnistää monella tavalla. Yksi tapa on Käynnistä-valikon kautta. Windows 7 - sinun on siirryttävä kohtaan "Kaikki ohjelmat" - "Lisävarusteet" - "Windows PowerShell" ja käynnistettävä "Windows PowerShell" -kuori. Windows 10:lle - sinun on löydettävä ryhmä kirjaimella "W" ja sieltä löydät "Windows PowerShell".
  2. Käynnistä "Windows PowerShell ISE" on ohjelma - kehitysympäristö, jonka avulla voit muokata ja korjata PowerShell-skriptejä, joka on myös oletusarvoisesti saatavana itse PowerShellin kanssa. Kun olet käynnistänyt sen, sinun tarvitsee vain napsauttaa "Avaa" -painiketta tai mennä Tiedosto-valikkoon - Avaa ja valitse vaadittu käsikirjoitus, paina sitten F5 tai "Suorita komentosarja" -painiketta. Windows PowerShell ISE löytyy samasta paikasta kuin PowerShell - Käynnistä-valikosta.
  3. Käynnistä tavallinen komentorivi ja kirjoita siihen:
    powershell -tiedosto<имя_скрипта> (esimerkki: powershell -tiedosto myscript.ps1)

Jos et ole aiemmin suorittanut PowerShell-komentosarjoja, saat todennäköisesti seuraavan viestin: Tiedostoa ei voi ladata<имя_скрипта>, koska komentosarjan suorittaminen on kielletty tässä järjestelmässä. Kirjoita "get-help about_signing" saadaksesi lisätietoja. Tämä johtuu siitä, että turvallisuussyistä ja vahingossa tapahtuvan suorittamisen estämiseksi vahingoittava koodi, kaikki skriptit on allekirjoitettava digitaalisesti.

Kuinka sallia allekirjoittamattoman PowerShell-komentosarjan suorittaminen?

1. PowerShellissä, ennen komentosarjan suorittamista, suorita komento salliaksesi allekirjoittamattomien komentosarjojen suorittamisen nykyisessä komentotulkkiistunnossa:

Set-ExecutionPolicy RemoteSigned -Scope-prosessi

2. Käynnistettäessä tavalliselta komentoriviltä käytä -executionpolicy-parametria, ts. aja skripti näin:

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

Molemmat menetelmät asettavat käytännön vain nykyiselle istunnolle, kun taas rekisteriin kirjoitettujen PowerShell-komentosarjojen suorittamisen suojauskäytäntöä ei muuteta ja se pysyy samana. Jos haluat muuttaa komentosarjan suorittamisen suojauskäytännön pysyväksi, käytä tätä menetelmää:

3. Salli käynnistäminen ikuisesti: Käynnistä PowerShell järjestelmänvalvojana ja suorita komento:

Set-ExecutionPolicy RemoteSigned

Huomautus: Jos komentosarja on ladattu Internetistä, sinun on käytettävä Ohitus-toimintoa RemoteSigned -palvelun sijaan, jotta vältytään käynnistyksen vahvistuspyynnöltä - täydellinen sammutus kaikki pyynnöt ja varoitukset.

Kuinka ajaa PowerShell-skripti taustalla?

Voit tehdä tämän käyttämällä käynnistysparametria -WindowStyle, jolla voi olla seuraavat arvot: Normaali, Minimoitu, Maksimoitu ja Piilotettu. Joten voit suorittaa allekirjoittamattoman skriptin tausta, sinun on suoritettava komento:

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

Voit myös halutessasi lisätä -NonInteractive, jotta skripti ei kysy kysymyksiä. Siten komentosarja suoritetaan käyttäjän huomaamatta. Ole varovainen käyttäessäsi tätä menetelmää.

PowerShell-komentosarjan suorittaminen parametrien kanssa

Varsinainen laukaisu tulisi tehdä kuin käynnistäisit säännöllinen ohjelma tai bat tiedosto parametrein. Jos haluat esimerkiksi suorittaa komentosarjan parametreilla komentoriviltä, ​​voit kirjoittaa seuraavan komennon:

powershell -executionpolicy RemoteSigned -tiedosto<имя_скрипта>param1 param2 "toinen tekstiparametri"

Itse skriptissä voit saada nämä parametrit seuraavasti:

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

PowerShell ISE:ssä voit suorittaa komentosarjan parametrien kanssa samalla tavalla komentoruudun avulla.

Kuinka ajaa PowerShell-komentosarja pikakuvakkeen avulla?

Tämä tehtävä voidaan suorittaa kahdella tavalla:

  1. Luo bat/cmd-tiedosto, johon kirjoitat komentosarjan suorittamisen (olet lukenut yllä olevat parametrit)
  2. Luo pikakuvake PowerShelliin, joka löytyy kansiosta c:\Windows\System32\WindowsPowerShell\v<версия>\ ja lisää tarvittavat parametrit "Objekti"-kentän pikakuvakkeen ominaisuuksiin.

Jos esimerkiksi haluat suorittaa powershell-skriptin, kun käyttäjä kirjautuu sisään, voit luoda pikakuvakkeen kohdassa 2 kuvatulla tavalla ja sijoittaa sen käynnistykseen. Lisäksi luomalla pikakuvakkeen jollakin yllä olevista menetelmistä voit helposti suorittaa komentosarjan järjestelmänvalvojana tai minkä tahansa muun käyttäjänä tavallisena ohjelmana.

PowerShell-skriptikieli - melko voimakas työkalu ratkaisemaan erilaisia ​​ongelmia, mutta sitä voidaan käyttää paitsi hyviin asioihin myös haitaksi, joten käytä sitä viisaasti;)