powershell上禁止运行相关脚本报错
2020-04-27 本文已影响0人
zhipeng_Min
在使用vscode运行tsc命令监控文件时,报错提示禁止运行脚本。
“tsc : 无法加载文件 C:\Users\14140\AppData\Roaming\npm\tsc.ps1,因为在此系统上禁止运行脚本”
查其原因是因为powershell对于脚本的执行有着严格的安全限制。
可以使用Set-ExecutionPolicy来修改PowerShell中执行策略的用户首选项(preference). 执行策略是Windows PowerShell安全策略中的一部分. 它将决定你是否可以载入配置文件(包括你的Windows PowerShell profile文件)和运行脚本, 它将会在运行前确定哪些文件必须具有数字签名(digitally signed).
其可选的参数如下:
Restricted: 不载入配置文件, 不执行脚本. "Restricted"是默认值.
AllSigned: 所有的配置文件和脚本必须通过信任的出版商签名(trusted publisher), 这里所指的脚本页包括你在本地计算机上创建的脚本.
RemoteSigned: 所有从互联网上下载的脚本必须通过信任的出版商签名(trusted publisher).
Unrestricted: 载入所有的配置文件和脚本. 如果你运行了一个从互联网上下载且没有数字签名的脚本, 在执行前你都会被提示是否执行
解决办法:
一、使用管理员身份打开PowerShell
二、键入Set-ExecutionPolicy RemoteSigned命令
三、键入Y
最后可以使用Get-ExecutionPolicy来看看是否修改成功