我试着跑powershell
来自 c# 的脚本。
首先我设置了ExecutionPolicy
to 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,网址为http://go.microsoft.com/fwlink/?LinkID=135170.
这可能是由于当前用户具有未定义的ExecutionPolicy
.
在 PowerShell 中作为管理员,您可以尝试以下操作:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)