Како потписати ПоверСхелл скрипту са сертификатом

Дигитални потпис скрипте или извршне датотеке омогућава кориснику да потврди да је датотека оригинална и да је трећа страна није променила њен код. ПоверСхелл такође има уграђену могућност потписивања * .пс1 датотеке скрипте.

ПоверСхелл скрипту можете потписати помоћу посебне врсте цертификата  Код Потписивање. Овај сертификат се може добити од екстерног сертификационог тела, интерног корпоративног ЦА или сертификата са сопственим потписом (наравно, ово није најбоља опција).

Претпоставимо да су ПКИ - услуге сертификата Ацтиве Дирецтори распоређене у нашем домену. Захтевамо нови сертификат тако што идемо на страницу хттпс: // ЦА-име сервера / цертсрв и захтевамо нови сертификат са шаблоном Потписивање кода (овај образац мора бити претходно одобрен у конзоли за ауторитет за овјеравање).

Инсталирајте примљени сертификат у локалну продавницу сертификата на рачунару.

Након пријема сертификата конфигуришемо политику извршавања скрипте ПоверСхелл, дозвољавајући покретање само потписаних скрипти. Подразумевана вредност политике (Ограничена) блокира извршавање било које скрипте. Да бисте дозволили покретање потписаних скрипти, можете променити врсту смернице у АллСигнед или РемотеСигнед, чија је разлика између тога што РемотеСигнед захтева потпис само за скрипте примљене са Интернета.

Сет-ЕкецутионПолици АллСигнед -Форце

У посебан објект сачувајте сертификат из локалне меморије за тренутног корисника:

$ церт = (Гет-ЦхилдИтем церт: \ ЦуррентУсер \ ми -ЦодеСигнингЦерт) [0]

Тада ћемо потписати скрипту користећи овај сертификат:

Сет-АутхентицодеСигнатуре-Цертификат $ церт -ФилеПатх Ц: \ ПС \ тест_сцрипт.пс1

Савет. Када креирате самопотписан цертификат за потписивање кода помоћу цмдлета Нев-СелфСигнедЦертифицате, морате навести врсту цертификата ЦодеСигнинг:

Ново-СелфСигнедЦертифицате -ДнсНаме тест1 -Типе ЦодеСигнинг

Након што генеришете цертификат, морат ћете га пренијети са конзоле за управљање спремиштем цертификата (цертмгр.мсц) из интермедијарног спремника у поуздан коријен.

Можете да потпишете скрипту са овим сертификатом овако:

Сет-АутхентицодеСигнатуре Ц: \ ПС \ тест_сцрипт.пс1 @ (гци Церт: \ ЛоцалМацхине \ Ми -ДнсНаме тест1 -кодизајнирање) [0]

Након потписивања скрипте ПоверСхелл, блок потписа потписа уоквирен линијама биће додан у текстуалну датотеку пс1 скрипте

# СИГ # Почните блок потписа
...
...
# СИГ # Завршни блок потписа

Када први пут покушате да покренете скрипту, појављује се упозорење ако одаберете [А] Увек трчи, када се покрећу скрипте потписане овим цертификатом, упозорење се више неће појављивати.

Да ли желите покренути софтвер овог неповјерљивог издавача?

Датотека Ц: \ ПС \ тест_сцрипт.пс1 објављује ЦН = тест1 и не верује се у ваш систем. Покретајте скрипте само од поузданих издавача.

Савет. Коријенском ЦА цертификату којим је скрипту потписан мора се вјеровати (иначе се скрипта уопће неће покренути). Сертификат којим се потписује сама скрипта такође се мора веровати, иначе ће се скрипта покренути са потврдом. Ево чланка који ће вам помоћи: Како додати сертификате на рачунар домена помоћу ГПО-а

Шта се догађа ако променим код за потписану скрипту ПоверСхелл-а? Њено покретање биће блокирано, што указује да је садржај скрипте промењен.

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

Стога ће свака измјена потписаног скрипта захтијевати његово поновно потписивање..