Назад | Перейти на главную страницу

Как изменить профиль PowerShell по умолчанию / поставить цифровую подпись для файла $ profile?

Я попытался создать идеальную настройку для своей среды PowerShell.

Я создал «Microsoft.PowerShell_profiles.ps1» с набором инструкций для настройки моего профиля по умолчанию.

Однако когда я запускаю сеанс PowerShell, я получаю:

File C:\Documents and Settings\xxx\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded. The file C:\Documents and Settings\xxx\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 is not digitally signed. The script will not execute on the system.

По умолчанию Powershell запрещает запускать «небезопасные» сценарии. Запустить get-executionpolicy , чтобы узнать, на каком уровне находится ваша система. Чтобы снизить ограничение, вы можете запустить Set-ExecutionPolicy и укажите один из них в качестве параметра:

  • Ограниченный - Никакие скрипты не могут быть запущены. Windows PowerShell можно использовать только в интерактивном режиме.
  • AllSigned - Можно запускать только сценарии, подписанные надежным издателем.
  • RemoteSigned - Загруженные скрипты должны быть подписаны доверенным издателем перед запуском.
  • Неограниченный - Нет ограничений; все сценарии Windows PowerShell можно запускать.

Также прочтите мудрые слова Скотта Хансельмана о подписание скриптов Powershell.

Самое простое решение -

Set-ExecutionPolicy RemoteSigned

но это запустит все сценарии, которые находятся на локальном диске (и не находятся в удаленной зоне - например, загруженные через IE)

Здесь у вас есть 3 варианта: вы можете либо подписать свой сценарий надежным поставщиком, либо, по крайней мере, поставщиком, которому вы доверяете, либо вы можете использовать Set-ExecutionPolicy, чтобы настроить PowerShell для разрешения внешних сценариев, либо:

 Set-ExecutionPolicy RemoteSigned

Запустит любой сценарий на локальном компьютере, полученный не из Интернета.

Set-ExecutionPolicy  Unrestricted 

Разрешит запуск любого сценария, хотя, если вы загрузили его из Интернета, он попросит вас подтвердить, что вы хотите его запустить.

Наконец, вы можете настроить запуск конкретного сценария, щелкнув файл правой кнопкой мыши и выбрав «Свойства». Внизу диалогового окна нажмите «Разблокировать».