Објашњена политика извршавања ПоверСхелл-а

15. септембар 2020 2424 Погледи поверсхелл екецутионполици

Прегледајте теме постова

Шта је ПоверСхелл ЕкецутионПолици?

ЕкецутионПолици у ПоверСхелл-у је безбедносна функција која контролише како ПоверСхелл учитава конфигурационе датотеке и покреће скрипте. Функције ЕкецутионПолици спречавају ПоверСхелл да покреће злонамерне скрипте.

Можете подесити Политику извршавања за рачунар, корисника или сесију. Тхе Сет-ЕкецутионПолици цмдлет се може користити за подешавање ЕкецутионПолици. Наредба ПоверСхелл.еке такође има параметар ЕкецутионПолици који можете користити да поставите Поверсхелл ЕкецутионПолици.

У овом водичу ћете научити о различитим типовима ПоверСхелл смерница за извршавање. Такође ћете научити како да користите команде Сет-ЕкецутионПолици и ПоверСхелл.еке -ЕкецутионПолици.

Доступне политике извршења

Овај одељак објашњава различите политике извршавања које можете да поставите у ПоверСхелл-у и шта ће вам свака омогућити да урадите.

Ограничен

  • Ово је подразумевана политика извршавања у оперативном систему Виндовс 8, Сервер 2012 и новијим.
  • Спречава извршавање ПоверСхелл конфигурационих датотека (.пс1кмл), датотека скрипте модула (.псм1) и Виндовс ПоверСхелл профила (.пс1)
  • Дозвољава појединачне ПоверСхелл команде, али одбија скрипте

АллСигнед

Када подесите АллСигнед ЕкецутионПолици, ПоверСхелл:

  • Покреће све скрипте
  • Захтева да пре него што скрипти буде дозвољено да се покрене, она мора бити потписана од поузданог издавача. Ово укључује скрипте написане на локалном рачунару
  • Пита за потврду пре покретања скрипте од издавача за који нисте потврдили да је поуздан
  • Може да покреће потписане, али злонамерне кодове

РемотеСигнед

РемотеСигнед Екецутион Полици:

  • Омогућава покретање скрипти
  • Захтева да све скрипте преузете са Интернета морају бити дигитално потписане од стране издавача којег сте навели као поузданог. Ово укључује скрипте примљене путем е-поште и платформе за размену тренутних порука.
  • Неће захтевати дигитално потписивање скрипти написаних на локалном рачунару
  • Може дозволити покретање злонамерних скрипти из других извора

Неограничено

  • Омогућава извршавање недодељених скрипти
  • Упозориће вас пре извршавања скрипте са интернета
  • Ризици од покретања злонамерних кодова или скрипти

Заобићи

Са заобилазном политиком извршења:

  • Ниједна скрипта није блокирана. Такође не нуди упозорења.

Недефинисан

  • Значи да није дефинисана политика извршавања
  • Ефективна политика извршења је ограничена (подразумевано)

Обим и приоритет извршне политике

Можете да примените ПоверСхелл смернице за извршавање на:

ЛоцалМцацхине : Утиче само на тренутне кориснике. Ово има најмању предност

Тренутни корисник : Политика извршења утиче само на тренутног корисника. Има предност над ЛоцалМцацхине али има мањи приоритет над Процес .

Процес : Односи се само на тренутну сесију. Има највећи приоритет.

Како добити тренутну политику извршавања ПоверСхелл-а

Да бисте видели тренутну ПоверСхелл ЕкецутионПолици, покрените наредбу испод:

|_+_| Како поставити политику извршавања помоћу Сет-ЕкецутионПолици

Да бисте видели ЕкецутионПолици сет за све опсеге, користите ову команду:

|_+_| Како поставити политику извршавања помоћу Сет-ЕкецутионПолици

Такође можете добити Политику извршења на основу обима. Ево неких примера команди:

|_+_|

Како да подесите ПоверСхелл политику извршавања

Као што сам поменуо у уводу, можете поставити ЕкецутионПолици помоћу цмдлета Сет-ЕкецутионПолици. Такође можете користити команду ПоверСхелл.еке -ЕкецутионПолици.

Како поставити политику извршавања помоћу Сет-ЕкецутионПолици

Синтакса цмдлета Сет-ЕкецутионПолици је:

|_+_|

На пример, да поставите Политику извршавања на РемотеСигнед користите наредбу испод:

|_+_|

Ево резултата команде.

Како поставити политику извршавања помоћу Сет-ЕкецутионПолициКоманда није успела јер нисам отворио ПоверСхелл као администратор.

Ево команде која се извршава као администратор:

Како поставити политику извршавања помоћу ПоверСхелл.еке -ЕкецутионПолици

Као што можете видети са слике, нова Политика извршења је сада РемотеСигнед .

Од последње 2 команде тражио сам да потврдим команду. Да бисте заобишли овај упит, укључите -Сила параметар.

Команда се сада извршава без тражења потврде.

Тхе -Сила параметар је посебно користан у скриптовању. Без овог параметра ваша скрипта може да се заустави.

Ова команда подразумевано поставља политику извршавања за ЛоцалМацхине Обим. Да бисте то потврдили, покрените наредбу испод:

|_+_|

Да бисте поставили политику извршења да се примењује на други опсег, користите – Обим параметар.

Наредба испод поставља политику извршавања за Тренутни корисник :

|_+_|

Као што видите из резултата, Тренутни корисник политика више није Недефинисан . Сада је Заобићи , смерница постављена последњом командом.

Како поставити ЕкецутионПолици помоћу ПоверСхелл.еке -ЕкецутионПолици

Ако желите да заобиђете Политику извршавања за пријављену сесију, можете да подесите Политику извршавања за тренутну командну линију. Ово се постиже помоћу команде ПоверСхелл.еке.

Пре него што дам примере, ево тренутне политике извршења:

Тренутна политика извршења је Ограничен . Ово је зато што Процес обим има предност. Да бисте потврдили, погледајте резултат у наставку:

ако се сећате, Ограничен политика НЕЋЕ дозволити покретање скрипти.

То значи да ако покушам да покренем скрипту, биће ми одбијен приступ. Слика испод приказује низ наредби и њихове резултате. Погледајте моје објашњење испод слике.

Прва команда приказана на слици је:

|_+_|

Покушао сам да покренем ПоверСхелл скрипту. Онда сам добио поруку о грешци испод:

Датотека Ц:ПСсцхедуле поверсхелл екамплеЦреате-фолдерс-фром-тект-филе.пс1 не може да се учита јер је покретање скрипти онемогућено на овом систему.

Разлог је зато што је тренутна политика извршења Ограничен . Не дозвољава покретање било које скрипте.

Назад на референтну слику. У следећем реду, покренуо сам следећу команду:

|_+_|

У ствари, могу да подесим привремену политику извршавања за командну линију користећи параметар -ЕкецутионПолици команде тхеповерсхелл.еке. Али добио сам исту поруку о грешци. Разлог је тај што морам да поставим политику извршавања пре него што позовем скрипту.

Затим сам у следећем реду извршио ову команду:

|_+_|

Ово поставља политику извршавања за тренутну пријављену сесију на Неограничено . Дакле, када сада покренем своју ПоверСхелл скрипту, она се успешно извршила! Погледајте референтну слику изнад.

Закључак из последње анализе је следећи: Можете да подесите Поверсхелл ЕкецутионПолици за тренутну сесију користећи Поверсхелл.еке -ЕкецутионПолици. Али, прво морате да покренете команду пре него што позовете своју скрипту.

Да бих потврдио да Поверсхелл.еке поставља политику само за тренутну сесију, покренућу наредбу испод из тренутне сесије:

|_+_|

Резултат је Неограничено за Тренутни корисник Обим. Ако се одјавим са тренутне сесије и поново се пријавим. Вратиће се на политику постављену командом Сет-ЕкецутионПолици.

Закључак

Надам се да сам успео да поједноставим како да добијем и поставим ПоверСхелл смернице за извршавање. Ако имате било какво питање или коментар користите образац за одговор на крају странице.

Други корисни водичи

  • ПоверСхелл Нот Екуал Оператор: апликације, примери
  • Објашњење Поверсхелл-а за петљу: синтакса и примери

Додатни ресурси и референце