使用C#运行PowerShell脚本

4
PowerShell powershell = PowerShell.Create();
PSCommand command = new PSCommand();
command.AddScript("[System.Net.ServicePointManager]::ServerCertificateValidationCallback+={$true}");

这是正确的吗?
下一步是什么?


谢谢回复,但是该命令没有Invoke()方法。 - Steven Zack
是的,在你完成Coincoin建议的步骤后,应该使用powershell.Invoke() - Peter K.
1个回答

6

来自MSDN:

PSCommand command = new PSCommand(); 
command.AddScript( 
    "[System.Net.ServicePointManager]::ServerCertificateValidationCallback+={$true}"
); 

PowerShell powershell = PowerShell.Create();
powershell.Commands = cmd;

var results = powershell.Invoke();

powershell.Commands = cmd; 应该改为 powershell.Commands = command;,是吗? - Jimmy D
请注意,PowerShell是IDisposable的,因此应该在using块中使用。还要注意,您的系统上可能有多个版本的System.Management.Automation.dll,并且这些类需要PowerShell 2.0或更高版本。在我的系统上,正确的文件位于C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ WindowsPowerShell \ v1.0 \ System.Management.Automation.dll - Program Files中的文件已经过时了。 - TrueWill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接