2016-02-04 4 views
0

Я запускаю powershell для запуска запущенного приложения. Он отлично работает в Windows 7, но у меня возникла ошибка, когда я пытаюсь запустить ее на Windows 10. Что-то про авторизацию. Это ошибкаPowershell не может быть загружен на Windows10

D:\z.test\getprocess.ps1 : File D:\z.test\getprocess.ps1 cannot be loaded. The file D:\z.test\getprocess.ps1 is not digitally signed. You cannot run this script on the current system. For more information about running scripts and setting execution policy, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170 . At line:1 char:1 + D:\z.test\getprocess.ps1 + ~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess

Что, по всей видимости, проблема? Пожалуйста помоги.

ответ

0

Запуск PowerShell от имени администратора и введите:

Set-ExecutionPolicy RemoteSigned 

читать о Powershell Политика исполнения here

+1

Спасибо за быстрый ответ sir. Я попытался выполнить код, который вы указали, он все равно даст мне те же результаты –

+0

, пожалуйста, закройте все окна PowerShell. Откройте новую консоль PS и введите 'Get-ExecutionPolicy' - что вы видите? – Kiran

1

Пожалуйста, смотрите эту Technet страницу:

https://technet.microsoft.com/en-us/library/ee176961.aspx

Powershell имеет вариант политики в отношении того, что скрипты для запуска. Политику можно установить так:

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

Если вы счастливы принять риски безопасности, то выполните команду:

Set-ExecutionPolicy Unrestricted 

Однако я рекомендую подписывать свои сценарии. Если у вас есть сертификат подписи кода, то вы можете подписать свой скрипт, используя следующее:

$cert = Get-ChildItem cert:\CurrentUser\My\2C096472E989BA373512C307829E8E557A12BD93 
Set-AuthenticodeSignature -Certificate $cert -FilePath C:\path_to_script.ps1 

Замените C: \ path_to_script.ps1 с пути к вашему сценарию вы хотите подписать и заменить сертификат: \ CurrentUser \ My \ 2C096472E989BA373512C307829E8E557A12BD93 с указанием пути к вашему сертификату подписи кода в хранилище сертификатов Windows.

Смежные вопросы