Это может быть глупый вопрос, но мне интересно, почему я не могу просто запустить какой-либо скрипт PowerShell (ps1), как я запускаю bat файлы?

Даже если у PS есть дополнительные (незащищенные) команды, я всегда могу обойти настройки безопасности и запустить их из bat: Powershell.exe -executionpolicy remotesigned -File .\do_whatever.ps1 . Если я могу легко обмануть пользователей, чтобы они запускали мои неподписанные скрипты, тогда какая польза от концепции подписывания скриптов?

Конечно, мне не хватает соображений безопасности ... Правильно?

1 ответ1

0

Это проверка верности.

Подумайте о "предупреждениях о сертификатах", которые вы видите на сайтах HTTPS - вы можете просто "следующий" за предупреждением, но предупреждение предупредит вас о чем-то ошибочном.

Одна из полезных вещей при подписании заключается в том, что вы знаете, был ли изменен ваш скрипт. Учти это:

Вы создаете сценарий для выполнения очистки ClearIISLogs.ps1 и устанавливаете повышенное запланированное задание для его ежедневного выполнения. (powershell.exe clearIISLogs.ps1)

В этом случае, если пользователь с правами записи в ClearIISLogs.ps1 попытается изменить сценарий, запланированное задание не будет выполнено. Сценарий должен быть подписан доверенным издателем еще раз, прежде чем выполнение будет разрешено.

Если вы хотите настроить запланированное задание на обход безопасности powershell (-setexecuitionpolicy unrestricted), измените ClearIISLogs.PS1 будет выполняться без суеты ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .