Мне нужно выполнить скрипт Powershell, содержащий мои пользовательские командлеты (существуют в другой сборке) из C #.Я попробовал следующий подход, но он просто вызывает командлет только один раз, и все, а в сценарии этот командлет написан более одного раза.
Get-MyParameter myTasks
Start-Process notepad.exe
Get-MyParameter myTasks
Get-MyParameter myTasks
Get-MyParameter myTasks
В то время как MyParameter записан в другой сборке.Пробный код:
var powerShellInstance = PowerShell.Create();
powerShellInstance.Runspace = runSpace;
var command = new Command("Import-Module");
command.Parameters.Add("Assembly", Assembly.LoadFrom(@"..\CommandLets\bin\Debug\Commandlets.dll"));
powerShellInstance.Commands.AddCommand(command);
powerShellInstance.Invoke();
powerShellInstance.Commands.Clear();
powerShellInstance.Commands.AddCommand(new Command("Get-MyParameter"));
powerShellInstance.AddScript(psScript);
var result = powerShellInstance.Invoke();
Что я здесь не так делаю?