Ps1无法加载,因为在此系统上禁用了运行脚本

我尝试从c#运行powershell脚本。

首先,我将ExecutionPolicy设置为Unrestricted,脚本现在从PowerShell ISE运行。

这是我的c#代码:

class Program
{
private static PowerShell ps;
static void Main(string[] args)
{
ps = PowerShell.Create();
string ps1File = Path.Combine(Environment.CurrentDirectory, "script.ps1");
ExecuteScript(ps1File);
Console.ReadLine();
}


static void ExecuteScript(string script)
{
try
{
ps.AddScript(script);
Collection<PSObject> results = ps.Invoke();
Console.WriteLine("Output:");
foreach (var psObject in results)
{
Console.WriteLine(psObject);
}
Console.WriteLine("Non-terminating errors:");
foreach (ErrorRecord err in ps.Streams.Error)
{
Console.WriteLine(err.ToString());
}
}
catch (RuntimeException ex)
{
Console.WriteLine("Terminating error:");
Console.WriteLine(ex.Message);
}
}
}

输出为:

ps1不能加载,因为运行脚本在此禁用 系统。要了解更多信息,请参阅about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170 . < / p >

501292 次浏览

这可能是由于当前用户有一个未定义的ExecutionPolicy

在PowerShell 以管理员身份中,您可以尝试以下方法:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

PowerShell的执行策略默认为“受限”。您可以使用Set-ExecutionPolicy cmdlet来更改PowerShell的执行策略。要运行外部脚本,请将policy设置为remotessigned。

PS C:> Set-ExecutionPolicy remotessigned 下面是PowerShell

中四种不同执行策略的列表

受限-禁止运行脚本。 AllSigned -只有经过可信发布者签名的脚本才能运行。 remotessigned -下载的脚本必须由可信的发布者签名。 无限制-所有Windows PowerShell脚本都可以运行

在管理模式下打开powershell 并执行以下命令

. sh

Set-ExecutionPolicy RemoteSigned

我认为您可以在管理模式或命令提示符下使用powershell。

在管理员模式下打开windows powershell并运行以下命令,它的工作VOILA!!

Set-ExecutionPolicy RemoteSigned

在powershell或cmd中运行此代码

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

以下三个步骤用于修复在此系统错误上禁用“运行脚本”

步骤1:为了解决这种问题,我们必须在管理员模式下启动power shell。

输入以下命令set-ExecutionPolicy remotessigned

.

.

更多信息,请访问以下https://youtu.be/J_596H-sWsk

另一个解决方案是Remove ng。从C:\Users%username%\AppData\Roaming\npm\清空npm缓存

如果你正在使用visual studio代码:

  1. 打开终端
  2. 执行命令Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy无限制
  3. 然后执行量角器conf.js命令

这与量角器测试脚本执行相关,我也遇到过同样的问题,它是这样解决的。

打开VS Code终端,运行以下脚本:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

在终端中粘贴此代码

(Visual Studio Code终端或您正在使用的任何IDE)

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

按回车键

享受:)

在终端(Visual Studio Code终端或您正在使用的任何IDE)中尝试此命令,问题将得到解决

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser

注意:不要把CurrentUser改成你的用户名

  1. 关闭当前命令提示符或vs code(终端)

  2. 在管理模式下打开PowerShell

  3. 在PowerShell内部执行 Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

    .执行策略
  4. 回答Y或A(如果你想让所有用户访问)

  5. 现在打开命令提示符或vs code或任何你喜欢的来运行你的项目

打开windows powershell或cmd并粘贴以下命令。如果需要进一步确认,请输入YesSet-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

如下图所示

`Execution Policy Change

执行策略有助于保护您免受您不信任的脚本的影响。更改执行策略可能会暴露 请注意about_Execution_Policies帮助主题中描述的安全风险 https: / go.microsoft.com/fwlink/ ? LinkID = 135170。是否要更改执行策略? [Y]是[A]全部是[N]否[L]全部不是[S]暂停[?]帮助(默认为"N"):是 PS C:\Users\ Tessact01> ' < / p >

进入系统设置->更新,安全→对于开发者->PowerShell

应用以下选项

enter image description here

最近,当我试图在netlify上部署一个应用程序时,我遇到了running-scripts-is-disabled-on-this-system同样的问题

下面cmd对我有用。

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser


在管理模式下打开PowerShell并运行以下命令

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

我得到这个错误:

 ng : File C:\Users\Nisha Jain\AppData\Roaming\npm\ng.ps1 cannot be loaded
because running scripts is disabled on this system. For more
information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?
LinkID=135170.
At line:1 char:1
+ ng serve
+ ~~
+ CategoryInfo          : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

只要删除这个文件ng.ps1

   Path is : C:\Users\username\AppData\Roaming\npm\ng.ps1

这对我来说很有效。