PowerShelli täitmispoliitika selgitus

15. september 2020 2424 Vaated powershelli täitmispoliitika

Sirvi postituste teemasid





Mis on PowerShell ExecutionPolicy?

PowerShelli ExecutionPolicy on turbefunktsioon, mis juhib seda, kuidas PowerShell konfiguratsioonifaile laadib ja skripte käitab. ExecutionPolicy funktsioonid aitavad vältida PowerShelli pahatahtlike skriptide käitamist.



Saate määrata täitmispoliitika arvuti, kasutaja või seansi jaoks. The Set-ExecutionPolicy cmdlet-i saab kasutada ExecutionPolicy seadistamiseks. PowerShell.exe käsul on ka parameeter ExecutionPolicy, mida saate kasutada Powershell ExecutionPolicy seadistamiseks.

Sellest juhendist saate teada erinevat tüüpi PowerShelli täitmispoliitikate kohta. Samuti saate teada, kuidas kasutada käske Set-ExecutionPolicy ja PowerShell.exe -ExecutionPolicy.



Saadaolevad täitmispoliitikad

Selles jaotises selgitatakse erinevaid täitmispoliitikaid, mida saate PowerShellis määrata, ja mida igaüks võimaldab teil teha.



Piiratud

  • See on Windows 8, Server 2012 ja uuemate versioonide vaikekäituspoliitika.
  • Takistab PowerShelli konfiguratsioonifailide (.ps1xml), mooduli skriptifailide (.psm1) ja Windows PowerShelli profiilide (.ps1) käitamise
  • Lubab üksikuid PowerShelli käske, kuid keelab skriptid

Kõik Signed

Kui määrate AllSigned ExecutionPolicy, teeb PowerShell järgmist.

  • Käivitab kõik skriptid
  • Nõuab, et enne skripti käitamiseks lubamist peab selle allkirjastama usaldusväärne väljaandja. See hõlmab kohalikus arvutis kirjutatud skripte
  • Enne skripti käivitamist väljaandjalt, mille usaldusväärsust te pole kinnitanud, küsitakse kinnitust
  • Võib käitada allkirjastatud, kuid pahatahtlikke koode

KaugSigneeritud

Remote Signed Execution Policy:



  • Võimaldab skriptidel käitada
  • Nõuab, et kõik Internetist alla laaditud skriptid peavad olema usaldusväärseks määratud väljaandja poolt digitaalselt allkirjastatud. See hõlmab meili teel saadud skripte ja kiirsuhtlusplatvorme.
  • Ei nõua kohalikus arvutis kirjutatud skriptide digitaalset allkirjastamist
  • Võib lubada muudest allikatest pärit pahatahtlike skriptide käitamist

Piiramatu

  • Võimaldab käivitada määramata skripte
  • Hoiatab teid enne Internetist skripti käivitamist
  • Pahatahtlike koodide või skriptide käitamise oht

Möödasõit

Täitmispoliitika möödaviimisega:



  • Ükski skript pole blokeeritud. Ei paku ka hoiatusi.

Määratlemata

  • Tähendab, täitmispoliitikat pole määratletud
  • Tõhus täitmispoliitika on piiratud (vaikimisi)

Täitmispoliitika ulatus ja tähtsus

Saate rakendada PowerShelli täitmispoliitikat:

LocalMcachine : mõjutab ainult praeguseid kasutajaid. Sellel on kõige väiksem eelistus

Praegune kasutaja : Täitmispoliitika mõjutab ainult praegust kasutajat. Eelistab LocalMcachine kuid sellel on madalam prioriteet Protsess .

Protsess : Kehtib ainult praegusele seansile. Omab kõrgeimat prioriteeti.

Kuidas hankida praegust PowerShelli täitmispoliitikat

Praeguse PowerShelli täitmispoliitika vaatamiseks käivitage allolev käsk:

|_+_| Täitmispoliitika määramine rakendusega Set-ExecutionPolicy

Kõigi ulatuste jaoks ExecutionPolicy komplekti nägemiseks kasutage seda käsku:

casperi allalaadimine androidile
|_+_| Täitmispoliitika määramine rakendusega Set-ExecutionPolicy

Saate hankida ka rakenduspoliitika ulatuse alusel. Siin on mõned näidiskäsud:

|_+_|

Kuidas seadistada PowerShelli täitmispoliitikat

Nagu sissejuhatuses mainisin, saate ExecutionPolicy seadistada cmdlet-käsuga Set-ExecutionPolicy. Võite kasutada ka käsku PowerShell.exe -ExecutionPolicy.

Täitmispoliitika määramine rakendusega Set-ExecutionPolicy

Set-ExecutionPolicy cmdleti süntaks on:

|_+_|

Näiteks, et seada täitmispoliitika väärtusele KaugSigneeritud kasutage allolevat käsku:

|_+_|

Siin on käsu tulemus.

Täitmispoliitika määramine rakendusega Set-ExecutionPolicyKäsk nurjus, kuna ma ei avanud PowerShelli administraatorina.

Siin on administraatorina käivitatud käsk:

Täitmispoliitika määramine rakendusega PowerShell.exe -ExecutionPolicy

Nagu pildilt näha, on uus täitmispoliitika nüüd olemas KaugSigneeritud .

Viimase 2 käsu pealt paluti mul käsk kinnitada. Sellest viipast mööda hiilimiseks lisage - Jõudu parameeter.

Käsk käivitub nüüd ilma kinnitust küsimata.

The - Jõudu parameeter on eriti kasulik skriptimisel. Ilma selle parameetrita võib teie skript seiskuda.

Vaikimisi määrab see käsk täitmispoliitika Kohalik masin ulatus. Selle kinnitamiseks käivitage allolev käsk:

|_+_|

Täitmispoliitika määramiseks mõnele muule ulatusele rakendage - Ulatus parameeter.

Allolev käsk määrab täitmispoliitika Praegune kasutaja :

|_+_|

Nagu tulemusest näha, Praegune kasutaja poliitikat enam ei ole Määratlemata . See on praegu Möödasõit , viimase käsuga määratud poliitika.

mis on parim craigslistide rakendus

ExecutionPolicy seadistamine rakendusega PowerShell.exe -ExecutionPolicy

Kui soovite sisselogitud seansi täitmispoliitikast mööda minna, saate praeguse käsureale määrata täitmispoliitika. See saavutatakse käsu PowerShell.exe abil.

Enne näidete esitamist on siin praegune täitmispoliitika:

Praegune täitmispoliitika on Piiratud . Seda seetõttu, et Protsess ulatus on ülimuslik. Kinnitamiseks vaadake allolevat tulemust:

Kui mäletate, Piiratud poliitika EI luba skripte käivitada.

See tähendab, et kui proovin skripti käivitada, keelatakse mul juurdepääs. Alloleval pildil on näha rida käske ja nende tulemusi. Vaata minu selgitust pildi all.

Esimene pildil näidatud käsk on:

|_+_|

Proovisin käivitada PowerShelli skripti. Seejärel sain järgmise veateate:

Faili C:PSschedule powershelli näideCreate-folders-from-text-file.ps1 ei saa laadida, kuna skriptide käitamine on selles süsteemis keelatud.

Põhjus on selles, et praegune täitmispoliitika on selline Piiratud . See ei luba ühtegi skripti käivitada.

Tagasi võrdluspildi juurde. Järgmisel real käivitasin järgmise käsu:

|_+_|

Tõhusalt saan määrata käsureale ajutise täitmispoliitika, kasutades käsu thepowershell.exe parameetrit -ExecutionPolicy. Kuid sain sama veateate. Põhjus on selles, et enne skripti kutsumist pean määrama täitmispoliitika.

Järgmisel real täitsin selle käsu:

|_+_|

See määrab praeguse sisselogitud seansi täitmispoliitika Piiramatu . Nii et kui ma nüüd oma PowerShelli skripti käivitan, käivitati see edukalt! Vaadake ülaltoodud võrdluspilti.

Viimase analüüsi järeldus on järgmine: Powershell ExecutionPolicy saate praegusele seansile määrata Powershell.exe -ExecutionPolicy abil. Kuid enne skripti kutsumist peate käsu käivitama.

Kinnitamaks, et Powershell.exe seab poliitika ainult praegusele seansile, käivitan alloleva käsu praegusest seansist:

|_+_|

Tulemuseks on Piiramatu Selle eest Praegune kasutaja ulatus. Kui login oma praegusest seansist välja ja uuesti sisse. See naaseb käsuga Set-ExecutionPolicy määratud poliitika juurde.

Järeldus

Loodan, et olen suutnud PowerShelli täitmispoliitika hankimist ja seadistamist lihtsustada. Kui teil on küsimusi või kommentaare, kasutage lehe lõpus olevat vormi Jäta vastus.

Muud kasulikud juhendid

  • Operaator PowerShell Not Equal: rakendused, näited
  • Powershell for Loop Explained: süntaks ja näited

Täiendavad ressursid ja viited