Я попытался создать идеальную настройку для своей среды 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
и укажите один из них в качестве параметра:
Также прочтите мудрые слова Скотта Хансельмана о подписание скриптов Powershell.
Самое простое решение -
Set-ExecutionPolicy RemoteSigned
но это запустит все сценарии, которые находятся на локальном диске (и не находятся в удаленной зоне - например, загруженные через IE)
Здесь у вас есть 3 варианта: вы можете либо подписать свой сценарий надежным поставщиком, либо, по крайней мере, поставщиком, которому вы доверяете, либо вы можете использовать Set-ExecutionPolicy, чтобы настроить PowerShell для разрешения внешних сценариев, либо:
Set-ExecutionPolicy RemoteSigned
Запустит любой сценарий на локальном компьютере, полученный не из Интернета.
Set-ExecutionPolicy Unrestricted
Разрешит запуск любого сценария, хотя, если вы загрузили его из Интернета, он попросит вас подтвердить, что вы хотите его запустить.
Наконец, вы можете настроить запуск конкретного сценария, щелкнув файл правой кнопкой мыши и выбрав «Свойства». Внизу диалогового окна нажмите «Разблокировать».