You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C#的System.Management.Automation执行PowerShell脚本?脚本未执行

问题排查与解决

你的代码存在路径转义错误,这是脚本未执行的核心原因:

在C#中,字符串里的反斜杠\属于转义字符,\P和\M会被解析为特殊字符,实际传递给PowerShell的路径已经不是你预期的D:\PSScripts\MyScript.ps1了。

修复方案

任选以下一种方式修正路径字符串:

  1. 使用双反斜杠转义:
PowerShell ps = PowerShell.Create();
ps.AddScript("D:\\PSScripts\\MyScript.ps1").Invoke();
  1. 使用逐字字符串(@前缀),跳过转义处理:
PowerShell ps = PowerShell.Create();
ps.AddScript(@"D:\PSScripts\MyScript.ps1").Invoke();

额外排查步骤

若修复路径后仍未执行,建议检查PowerShell错误流——Invoke()方法默认不会抛出异常,错误信息会被写入Streams.Error集合:

PowerShell ps = PowerShell.Create();
ps.AddScript(@"D:\PSScripts\MyScript.ps1").Invoke();
if (ps.Streams.Error.Count > 0)
{
    foreach (var error in ps.Streams.Error)
    {
        Console.WriteLine(error.ToString());
    }
}

内容的提问来源于stack exchange,提问作者Bill Greer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 02:40:32