Проблема с вызовом функции PowerShell из C #

I ' m Пытаюсь вызвать функцию в файле PowerShell следующим образом:

    string script = System.IO.File.ReadAllText(@"C:\Users\Bob\Desktop\CallPS.ps1");

    using (Runspace runspace = RunspaceFactory.CreateRunspace())
    {
        runspace.Open();
        using (Pipeline pipeline = runspace.CreatePipeline(script))
        {
            Command c = new Command("BatAvg",false); 
            c.Parameters.Add("Name", "John"); 
            c.Parameters.Add("Runs", "6996"); 
            c.Parameters.Add("Outs", "70"); 
            pipeline.Commands.Add(c); 

            Collection<PSObject> results = pipeline.Invoke();
            foreach (PSObject obj in results)
            {
                // do somethingConsole.WriteLine(obj.ToString());
            }
        }
    }

Функция PowerShell находится в Callps.ps1:

Function BatAvg
{
    param ($Name, $Runs, $Outs)
    $Avg = [int]($Runs / $Outs*100)/100 
    Write-Output "$Name's Average = $Avg, $Runs, $Outs "
}

Я получаю следующее исключение:

Термин «Batavg» не распознается как имя Из командлета, функции, файла скрипта или рабочей программы.

Что я делаю не так, я признаю, я очень мало знаю о Powershell.

5
задан user577240 3 September 2011 в 17:41
поделиться