微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Process.Start 启动 PowerShell 脚本会关闭 PowerShell,没有错误

如何解决使用 Process.Start 启动 PowerShell 脚本会关闭 PowerShell,没有错误

我正在用 C# 编写一个小应用程序,它调用各种 PowerShell 脚本来配置计算机。

我现在遇到了一个问题,我不认为我上次工作时只有几周时间。

当我从 C# 调用这些脚本时,PowerShell 窗口会非常短暂地打开然后关闭。我以为我的 PS 脚本可能有错误,但是没有 - 如果我在开始时执行 Start-Transcript,我仍然没有输出,所以它甚至没有开始运行我的脚本。

我的代码

Process.Start(@"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe ",@"C:\Thunder\Scripts\3-BitLockerEnable.ps1");

我认为可能是执行策略有问题,但它设置为不受限制。我确保文件路径是正确的 - 只需删除 PowerShell 调用即可让我检查,它在记事本中打开 ps1 文件很好,没有该行。

感谢任何帮助,我不确定我在哪里犯了错误。几周前我可以发誓这个确切的代码运行良好。谢谢。

解决方法

使用内置的 PowerShell 对象:

PowerShell ps = PowerShell.Create();
ps.AddScript(File.ReadAllText(@"C:\Thunder\Scripts\3-BitLockerEnable.ps1")).Invoke();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。