Näin saat kaiken irti Windows PowerShellistä ottamalla komentosarjan suorituskäytännön käyttöön.

iPowerShell mahdollistaa oletusarvoisesti komentojen (cmdlettien) suorittamisen konsolinsa kautta. Voit suorittaa komentosarjan luomalla muistiinpanotiedoston komentosarjakoodilla, tallentamalla sen .ps1-tiedostotunnisteella ja suorittamalla sen PowerShell-konsolin kautta. Voit myös liittää komentosarjan suoraan konsoliin suorittamista varten.

Jos kuitenkin suoritat komentosarjan ensimmäistä kertaa PowerShellin kautta, näet "skripti on poistettu käytöstä" -virheen. Oletusarvoisesti komentosarjan suorittaminen PowerShellissä on poistettu käytöstä suojatoimenpiteenä, joka estää haitallisten komentosarjojen suorittamisen järjestelmässäsi. Tässä näytämme kaksi tapaa ottaa skriptin suorituskäytäntö käyttöön Windows PowerShellissä.

Kuinka tarkistaa nykyinen toteutuskäytäntösi

Voit käyttää PowerShell-cmdlet-komentoa saadaksesi nykyisen suorituskäytäntösi. Nykyisen toteutuskäytäntösi tunteminen on välttämätöntä, jotta tiedät, tarvitsetko käytäntömuutosta vai et.

Saat nykyisen käyttäjän suorituskäytäntösi seuraavasti:

  1. Avaa Windows PowerShell järjestelmänvalvojana.
  2. Kirjoita seuraava komento PowerShell-konsoliin ja paina Enter:
    saada- täytäntöönpanopolitiikka
  3. Koska olet kohdannut virheen komentosarjaa suoritettaessa, palautus näkyy todennäköisesti Rajoitettu kuin nykyinen toteutuskäytäntösi.
  4. Jos haluat tarkastella kaikkien tuettujen laajuuksien suorituskäytäntöä:
    saada-executionpolicy -lista

Sinun on vaihdettava suorituskäytännöksi RemoteSigned, jotta voit suorittaa paikallisia komentosarjoja ilman virhettä. Voit muuttaa suorituskäytäntöä Asetukset-sovelluksesta ja PowerShellistä.

Kuinka ottaa PowerShell-suorituskäytäntö käyttöön Asetukset-sovelluksella

Voit muuttaa ja asettaa PowerShell-suorituskäytännön arvoksi RemoteSigned Asetukset-sovelluksen avulla. Sinun tarvitsee vain säätää PowerShell-asetuksia kehittäjien osiossa muuttaaksesi suorituskäytäntöä niin, että PowerShell-komentosarjan suorittaminen on mahdollista.

Suorituskäytännön muuttaminen Asetuksissa:

  1. Lehdistö Win + I avaamaan Settings.
  2. Avaa Yksityisyys ja turvallisuus -välilehti vasemmassa ruudussa.
  3. Napsauta seuraavaksi Kehittäjille.
  4. Napsauta laajentaaksesi PowerShell osio.
  5. Vaihda kytkin asentoon muuta suorituskäytäntöä sallimaan paikallisten PowerShell-komentosarjojen suorittaminen ilman allekirjoitusta - Etäskriptien allekirjoittaminen vaaditaan.
  6. Kun olet valmis, avaa PowerShell ja kirjoita get täytäntöönpanopolitiikka, ja paina Tulla sisään. Nykyisen käyttäjän suorituskäytäntö on nyt asetettu arvoon Etäallekirjoitettu.
  7. Jos sinun on poistettava suorituskäytäntö käytöstä, vaihda PowerShell-kytkin ja aseta se asentoon Vinossa.

Skriptien salliminen PowerShellissä PowerShellin avulla

Voit käyttää a PowerShell-cmdlet asettaaksesi suorituskäytännöksi RemoteSigned. Komentorivikäyttöliittymän avulla on helppo muuttaa suorituskäytäntöä nopeasti ilman Asetukset-sovellusta.

Asetukset-sovellus voi myös ottaa käyttöön tai poistaa käytöstä vain RemoteSigned-suorituskäytännön. PowerShellin avulla voit asettaa myös muita käytäntöjä ja laajuuksia.

Suorituskäytännön muuttaminen PowerShellillä:

  1. Avaa PowerShell järjestelmänvalvojana.
  2. Kirjoita PowerShell-ikkunaan seuraava komento ja paina Tulla sisään:
    Aseta-ExecutionPolicy RemoteSigned
  3. Paina pyydettäessä A vahvistaaksesi toiminnon. Tämä asettaa Etäallekirjoitettu suorituskäytäntö kaikille käyttäjille. Jos haluat määrittää suorituskäytännön Nykyinen käyttäjä Käytä vain Scope-parametria ja käyttäjänimeä.
  4. Esimerkiksi asettaaksesi Etäallekirjoitettu täytäntöönpanopolitiikka Nykyinen käyttäjä, käytä seuraavaa komentoa:
    Aseta-ExecutionPolicy RemoteSgined -Laajuus Nykyinen käyttäjä
  5. Korvata Nykyinen käyttäjä yllä olevassa komennossa muiden käyttäjien kanssa (Scope) vaatimuksesi mukaan.

Komentosarjan suorituskäytännön poistaminen PowerShellin avulla

Jos haluat poistaa komentosarjan suorittamisen käytöstä, aseta suorituskäytännöksi Määrittämätön käyttämällä the Set_ExecutionPolicy cmdlet. Tämä on oletustila ja estää PowerShellia suorittamasta komentosarjoja.

Komentosarjan suorittamisen poistaminen käytöstä PowerShellin avulla:

  1. Avaa PowerShell korotetulla luvalla.
  2. Kirjoita seuraavaksi seuraava komento ja poista komentosarjan suorittaminen käytöstä kaikilta käyttäjiltä painamalla Enter:
    Aseta-Täytäntöönpanopolitiikka määrittelemätön
  3. Yllä oleva komento asettaa suorituskäytännön oletusasetuksen (määrittämätön) kaikille käyttäjille. Jos haluat poistaa komentosarjan suorittamisen käytöstä tietyltä alueelta, käytä seuraavaa komentoa:
    Aseta-Täytäntöönpanopolitiikka määrittelemätön -Scope CurrentUser
  4. Yllä oleva komento poistaa komentosarjan suorittamisen käytöstä Nykyinen käyttäjä.

Toteutuskäytäntöjen ja laajuuksien ymmärtäminen

Yksinkertaisesti sanottuna PowerShellin suorituskäytäntö on käytäntö, joka hallitsee sitä, kuinka PowerShell suorittaa konfigurointitiedostoja ja komentosarjoja. Tarkoituksena on estää käyttäjiä suorittamasta vahingossa haitallisia komentosarjoja. Seitsemän PowerShell-suorituskäytäntöä ovat Oletus, Rajoitettu, Etäallekirjoitettu, AllSigned, Rajoittamaton, Ohitus ja Määrittämätön.

Alla oleva taulukko selittää lyhyesti kaikki PowerShell-suorituskäytännöt:

Toteutuspolitiikka

Täytäntöönpano

Oletus

Asettaa oletussuorituskäytännöksi Restricted on Windows Client ja RemoteSigned Windows Server.

Kaikki allekirjoitettu

Mahdollistaa julkaisijan allekirjoittamien skriptien suorittamisen.

Ohittaa

Skriptien rajoittamaton suoritus suurempia sovelluksia varten.

Etäallekirjoitettu

Mahdollistaa paikallisesti kirjoitetun komentosarjan suorittamisen. Edellyttää digitaalista allekirjoitusta Internetistä ladatuille skripteille.

Rajoitettu

Ei salli komentosarjan suorittamista, vaan vain yksittäisiä PowerShell-komentoja.

Määrittämätön

Asettaa suorituskäytännöksi Restricted for Windows -asiakkaat ja RemoteSigned for Windows Server.

Rajoittamaton

Salli allekirjoittamaton komentosarjan suorittaminen varoituksella Internetistä ladatuille skripteille.

Toteutuspolitiikan soveltamisala

Voit määrittää suorituskäytännön tietylle laajuudelle PowerShellissä. Viisi toteutuspolitiikan laajuutta ovat MachinePolicy, UserPolicy, Prosessi, CurrentUser, ja Paikallinen kone.

Alla oleva taulukko selittää lyhyesti kaikki toteutuskäytäntöjen laajuudet:

Toteutuspolitiikan soveltamisala

Täytäntöönpano

UserPolicy

Määritetty nykyisen käyttäjän ryhmäkäytännöllä.

Konepolitiikka

Määritetty ryhmäkäytännöllä kaikille käyttäjille.

CurrenUser

Määritetty nykyiselle käyttäjälle ja tallennettu HKEY_CURRENT_MACHINE-rekisterin aliavaimeen.

Paikallinen kone

Määritetty kaikille käyttäjille ja tallennettu HKEY_CURRENT_MACHINE-rekisterin aliavaimeen.

Käsitellä asiaa

Vaikuttaa nykyiseen PowerShell-istuntoon ja poistetaan automaattisesti, kun istunto suljetaan.

Lisää tai poista PowerShell-komentosarjan suorituskäytäntö Windowsissa

Komentosarjan suoritus PowerShellissä on oletusarvoisesti poistettu käytöstä Windows-asiakkaille, ja sen arvoksi on asetettu RemoteSigned for Windows Server. Tehokäyttäjät voivat kuitenkin muuttaa suorituskäytäntöjä suorittaakseen paikallisia, allekirjoitettuja ja allekirjoittamattomia PowerShell-komentosarjoja.

Vaihtoehtoisesti voit ohittaa PowerShell-suorituskäytännön liittämällä komentosarjan PowerShell-konsoliin tai ECHO-komentosarjan PowerShellin vakiosyötteeseen. Tämä on hyödyllistä, jos haluat suorittaa komentosarjoja muuttamatta suorituskäytäntöä.