Как включить выполнение сценариев PowerShell?

Когда я пытаюсь выполнить мой скрипт PowerShell, я получаю эту ошибку:

Файл C: \ Common \ Scripts \ hello.ps1 не может быть загружен, потому что выполнение скриптов отключено в этой системе. Подробнее см. «Get-help about_signing».
В строке: 1 символ: 13
+. \ Hello.ps1 <<<<
+ CategoryInfo: NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId: RuntimeException

  • Несколько каталогов: эквивалент Powershell "mkdir dir {1..9}"?
  • Родная альтернатива wget в Windows PowerShell?
  • Как переименовать некоторые файлы в соответствии с их меткой времени
  • Эквивалент Powershell `grep -r -l` (-files-with-matches)
  • Как использовать Powershell Remote через Интернет?
  • Как заставить вывод в «Format-Table» для пользовательского PSObject БЕЗ использования файла .format.ps1xml?
  • Как использовать код Powershell для перебора подкаталогов и удаления определенных папок?
  • Скопировать содержимое кнопок в текстовое поле?
  • Есть ли аналог Bash's Ctrl + Z & fg в Powershell?
  • Ярлык клавиатуры для вставки в командной строке Windows
  • Автоматически экспортировать историю в конце сеанса PowerShell
  • Родная альтернатива wget в Windows PowerShell?
  • 5 Solutions collect form web for “Как включить выполнение сценариев PowerShell?”

    1. Запустите Windows PowerShell с параметром «Запуск от имени администратора». Только члены группы «Администраторы» на компьютере могут изменить политику выполнения.

    2. Включить запуск неподписанных скриптов, введя:

      set-executionpolicy remotesigned 

    Это позволит запускать неподписанные скрипты, которые вы пишете на вашем локальном компьютере, и подписывать скрипты из Интернета.

    См. Также « Запуск сценариев в библиотеке Microsoft TechNet».

    Политика выполнения по умолчанию ограничена, вы можете увидеть ее, набрав:

     Get-ExecutionPolicy 

    Вы должны ввести следующее, чтобы перейти в неограниченный режим:

     Set-ExecutionPolicy unrestricted 

    Надеюсь это поможет

    На моей машине, которую я использую для сценариев dev, я буду использовать – неограниченно, как указано выше. Однако при развертывании моих сценариев к машине конечного пользователя я просто вызову powershell с помощью переключателя -executionpolicy:

     powershell.exe -noprofile -executionpolicy bypass -file .\script.ps1 

    В зависимости от версии и конфигурации Windows у вас может быть следующее предупреждение, даже в режиме Unrestricted :

     Security warning Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message. Do you want to run? [D] Do not run [R] Run once [S] Suspend [?] Help (default is "D") 

    Решение состоит в том, чтобы использовать политику «обход», включенную следующей командой:

     Set-ExecutionPolicy Bypass 

    Из документации :

    Обход: ничто не блокируется, и никаких предупреждений и подсказок нет.

    Это, очевидно, небезопасно, пожалуйста, поймите, какие риски связаны.

    Мы можем получить статус текущей ExecutionPolicy по следующей команде:

     Get-ExecutionPolicy; 

    По умолчанию он ограничен . Чтобы разрешить выполнение скриптов PowerShell, мы должны установить эту ExecutionPolicy как в обход или без ограничений .

    Мы можем установить политику для текущего пользователя как Bypass или Unrestricted , используя любую из приведенных ниже команд PowerShell:

     Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force; Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted -Force; 

    Неограниченная политика загружает все файлы конфигурации и запускает все сценарии. Если вы запустили неподписанный скрипт, загруженный из Интернета, вам будет предложено получить разрешение до его запуска.

    Принимая во внимание, что в политике обхода ничего не блокируется, и при выполнении сценария нет предупреждений или подсказок. Обход ExecutionPolicy более расслаблен, чем неограниченный.

    Давайте будем гением компьютера.