C# 使用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");

我有一个C#函数,它实际上异步调用powershell 下面是我的代码:

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
成功了,谢谢:)