C# 使用C将参数传递给Powershell#
我有一个C#函数,它实际上异步调用powershell 下面是我的代码:C# 使用C将参数传递给Powershell#,c#,powershell,parameters,C#,Powershell,Parameters,我有一个C#函数,它实际上异步调用powershell 下面是我的代码: using (PowerShell PowerShellInstance = PowerShell.Create()) { PowerShellInstance.AddScript(scriptFile,false); PowerShellInstance.AddParameter("var", "Value");
using (PowerShell PowerShellInstance = PowerShell.Create())
{
PowerShellInstance.AddScript(scriptFile,false);
PowerShellInstance.AddParameter("var", "Value");
PSDataCollection <PSObject> outputCollection = new PSDataCollection<PSObject>();
IAsyncResult result = PowerShellInstance.BeginInvoke<PSObject, PSObject>(null, outputCollection);
while (result.IsCompleted == false)
{
foreach (PSObject outputItem in outputCollection)
{
System.Console.WriteLine(outputItem.BaseObject.ToString());
}
System.Console.WriteLine("Waiting for pipeline to finish...");
Thread.Sleep(1000);
}
}
输出为:
在初始化中——这来自PS初始化脚本
价值是
正在等待管道完成
如果我在Powershell中将参数Required设置为true,则输出为:
正在等待管道完成
我已尝试更改PowerShellInstance.AddScript中的作用域,没有用。
这可能看起来像一个重复的问题,但我找不到解决方案,因此在这里提问。
我用于创建此代码的msdn链接位于:
非常感谢您的帮助。请添加/马克·佩瑟拉尔的评论作为答案,对我有用。多谢各位
AddScript -> AddCommand
请添加/马克·佩瑟拉尔的评论作为答案,对我有用。多谢各位
AddScript -> AddCommand
AddScript
->AddCommand
成功了,谢谢:)AddScript
->AddCommand
成功了,谢谢:)