我有一个工具可以使用Microsoft.PowerShell.ConsoleShell.Start()启动PowerShell实例。这非常有效,除了我不能通过将它作为-Command参数传递来运行脚本。
简化代码看起来像这样
string[] psArgs = new[] {"Command", ".\\test.ps1"};
var config = RunspaceConfiguration.Create();
int i= ConsoleShell.Start(
config,
"PSPowerShell",
"",
psArgs
);
当我使用它时,PowerShell启动,我得到以下输出
CommandType Name Definition
----------- ---- ----------
ExternalScript test.ps1 E:\testarea\test.ps1
感觉我错过了一些微不足道的东西,但我看不到它......
我也尝试过使用&但这只会给我一个错误:
Ampersand not allowed. The & operator is reserved for future use; use "&" to pass ampersand as a string.
答案 0 :(得分:0)
我认为你的问题是你告诉它运行命令,但是你给它一个脚本文件。
尝试将第一行更改为:
string[] psArgs = new[] {"-File", ".\\test.ps1"};