使用命令行参数从c#中执行PowerShell脚本

本文关键字:执行 PowerShell 脚本 命令行 参数 | 更新日期: 2023-09-27 18:18:50

我尝试从c#程序中启动带有参数文件的ps1。但在此之前,我试着把它做得更小,并运行一个"ls",但它不起作用,我认为我的代码是OK的。

pipeline.Commands.Add("ls ."); //in future here path of .ps1 file + arguments
Collection<PSObject> results;
// Execute PowerShell script
results = pipeline.Invoke();
//print it in a textbox
AppendLine(results.ToString());

我使用像参考一样的执行PowerShell脚本从c#与命令行参数

错误是"System.Management.Automation"。CommandNotFoundException: 'ls .'不是cmdlet、函数或bat文件

使用命令行参数从c#中执行PowerShell脚本

表达式ls .由命令(更确切地说,是别名)ls 参数参数.

组成构造该表达式的正确方法是:
Command lsCmd = new Command("ls");
lsCmd.Parameters.Add("Path",".");
Pipeline.Commands.Add(lsCmd);