System.Management.Automation.SetValueInvocationException occ

本文关键字:occ SetValueInvocationException Automation Management System | 更新日期: 2023-09-27 18:26:18

当我运行这个C#代码时,它会给我以下错误。

代码:

Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
RunspaceInvoke runSpaceInvoker = new RunspaceInvoke(runspace);
runSpaceInvoker.Invoke("Set-ExecutionPolicy Unrestricted");
Pipeline pipeline = runspace.CreatePipeline();
Command command = new Command("ps''script.ps1");
string StorageName = "appstorage";
command.Parameters.Add("Name", StorageName.ToLower());
pipeline.Commands.Add(command);
pipeline.Invoke();
runspace.Close();

错误:System.Management.Automation.dll 中出现"System.Management.AAutomation.SetValueInvocationException"

设置"ForegroundColor"时出现异常:"由于枚举值无效,无法将null转换为类型"System.ConsoleColor"。请指定以下枚举值之一,然后重试。可能的枚举值为"黑色、深蓝色、深绿色、深青色、深红色、深品红色、深黄色、灰色、深灰色、蓝色、绿色、青色、红色、品红色、黄色、白色"。"

System.Management.Automation.SetValueInvocationException occ

我也有同样的问题。脚本在控制台中运行良好,但我从C#调用它时收到了相同的消息。

至少在我的情况下,错误是由脚本中包含的CLS命令生成的。为执行PowerShell而创建的运行空间没有要清除的屏幕,因此CLS调用失败。在用CLS命令注释该行之后,脚本将从C#正确执行。