[英]Running Powershell script in c# -ConvertToJson error
我想在 c# 中运行 power shell 脚本。
使用 CodeProject 中关于在 c# 中运行 powershell 脚本的教程( http://www.codeproject.com/Articles/18229/How-to-run-PowerShell-scripts-from-C )
我能够运行“大多数”ps 脚本(它们在 PS 中完美运行),但是我需要的脚本在尝试使用 -ConvertFrom-Json 命令时收到错误消息。
脚本错误:术语“ConvertFrom-Json”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。 检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。
我是新手,所以不确定它是否过时的库或使其工作所需的其他依赖项?
由于 ConvertFrom-Json 是在 Powershell 3.0 中引入的,因此请确保您创建的运行空间也是 Powershell 3.0+。 您可以通过在 C# 代码的上下文中执行$Host.Version
并查看返回的 Version 对象来完成此操作。 它的主要版本应该是 3 或 4。
如果它是 3.0+,因为 ConvertFrom-Json 是通过模块Microsoft.PowerShell.Utility
包含的,请确保通过在 ConvertFrom-Json 之前执行Import-Module Microsoft.PowerShell.Utility
来加载该模块。 该模块可能是通过您的普通会话初始化脚本加载的,但是当从代码执行时,它可能不会执行这些脚本。
system("powershell -command '<some commands> | ConvertFrom-Json | <other commands>' ");
也会抛出同样的错误
在这种情况下,您需要将单引号更改为双引号并使用转义字符,以便传递双引号。
我想这是因为这个吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.