如何从C#执行PowerShell命令`open-device`?

时间:2014-10-14 20:48:07

标签: c# powershell powershell-v3.0

我正在使用open-device 127.0.0.1来连接远程设备。我如何从C#中调用它?这段代码:

PowerShell powerShell = PowerShell.Create(); 
PSCommand connect = new PSCommand();
connect.AddCommand("open-device");
powerShell.Commands = connect;
PSOutput = powerShell.Invoke()

导致错误:

  

System.Management.Automation.CommandNotFoundException:术语open-device无法识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。 at

     
 System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input) at
 System.Management.Automation.Runspaces.Pipeline.Invoke() at
 System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspa‌​ce rs, Boolean performSyncInvoke)

但是,我可以使用get-service运行Invoke命令。

1 个答案:

答案 0 :(得分:0)

您需要先使用Import-Module cmdlet equivalent =>加载其模块这是通过ImportPSModule()的{​​{1}}方法完成的。

在我的DnsClient模块示例下面:

InitialSessionState