无法在Windows10上加载Powershell

时间:2016-02-04 07:19:41

标签: powershell windows-10

我正在运行powershell来获取正在运行的应用程序。它在Windows 7中运行良好,但是当我尝试在Windows 10上运行它时出现错误。有关授权的信息。这是错误

  

D:\ z.test \ getprocess.ps1:文件D:\ z.test \ getprocess.ps1不能   加载。文件D:\ z.test \ getprocess.ps1未经过数字签名。   您无法在当前系统上运行此脚本。更多   有关运行脚本和设置执行策略的信息,请参阅   about_Execution_Policies at   http://go.microsoft.com/fwlink/?LinkID=135170。在行:1个字符:1   + D:\ z.test \ getprocess.ps1   + ~~~~~~~~~~~~~~~~~~~~~~~~       + CategoryInfo:SecurityError:(:) [],PSSecurityException       + FullyQualifiedErrorId:UnauthorizedAccess

这里似乎有什么问题?请帮忙。

2 个答案:

答案 0 :(得分:1)

以管理员身份运行PowerShell,然后输入:

Set-ExecutionPolicy RemoteSigned

了解Powershell执行政策here

答案 1 :(得分:1)

请参阅此technet页面:

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

Powershell有一个关于运行哪些脚本的策略选项。该政策可以设置为:

  • 受限制 - 无法运行任何脚本。可以使用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证书存储区中代码签名证书的路径。