Когда вы загружаете скрипт из Интернета и пытаетесь запустить его, если вы ранее не настраивали PowerShell, он выдаст неприятную ошибку красным шрифтом. Этого достаточно, чтобы отпугнуть большинство пользователей, но это легко исправить.
PowerShell имеет несколько режимов выполнения, которые определяют, какой тип кода разрешено запускать, это регулируется разделом реестра, который находится в кусте HKLM. Есть 4 разных режима исполнения, это:
- Restricted : политика выполнения по умолчанию, сценарии не запускаются, только интерактивные команды.
- Все подписано : запускает сценарии; все сценарии и файлы конфигурации должны быть подписаны издателем, которому вы доверяете; подвергает вас риску запуска подписанных (но вредоносных) сценариев после подтверждения того, что вы доверяете издателю.
- Удаленная подпись . Локальные сценарии запускаются без подписи. Любые загруженные скрипты должны иметь цифровую подпись, даже путь UNC.
- Неограниченный : запускает сценарии; все сценарии и файлы конфигурации, загруженные из коммуникационных приложений, таких как Microsoft Outlook, Internet Explorer, Outlook Express и Windows Messenger, запускаются после подтверждения того, что вы понимаете, что файл возник из Интернета; цифровая подпись не требуется; открывает риск запуска неподписанных, вредоносных скриптов, загруженных из этих приложений
Политика выполнения по умолчанию PowerShell называется Restricted. В этом режиме PowerShell работает только как интерактивная оболочка. Он не запускает сценарии и загружает только файлы конфигурации, подписанные издателем, которому вы доверяете. Если вы получаете неприятную красную ошибку, наиболее вероятной причиной является попытка запустить неподписанный скрипт. Самое безопасное, что нужно сделать, – это изменить политику выполнения на неограниченную, запустить свой сценарий, а затем изменить его обратно на ограниченный .
Чтобы изменить его на неограниченный, выполните следующую команду из административной оболочки PowerShell:
Set-ExecutionPolicy Неограниченный
Вам будет задан вопрос, уверены ли вы, что хотите изменить Политику выполнения, снова нажмите кнопку ввода.
Теперь вы можете запускать загруженные скрипты без проблем. Однако это серьезная угроза безопасности, если вы забудете вернуть Политику выполнения в режим «Ограниченный». Возможно, вы догадались бы, как установить его обратно в Restricted, но если вы этого не сделаете:
Set-ExecutionPolicy Restricted
Снова вас спросят, уверены ли вы, что хотите изменить режим выполнения, иди вперед и нажмите ввод.