Так я загружаю вложенные модули в ListBox.Powershell/C#: Импортировать и вызывать вложенные модули
public partial class Form1 : Form
{
readonly PowerShell _ps = PowerShell.Create();
public Form1()
{
InitializeComponent();
_ps.AddScript("Import-Module MyModules");
_ps.AddScript("(Get-Module MyModules).NestedModules");
Collection<PSObject> psObjects = _ps.Invoke();
foreach (var psObject in psObjects)
{
listBox1.Items.Add(psObject);
}
}
Теперь, если пользователь выбрал конкретный модуль, я хочу выполнить его.
Это не похоже на работу [хотя модуль должен быть загружен, и он должен распознать команду] -
_ps.AddCommand(listBox1.SelectedItem.ToString()).Invoke();
Исключение:
Термин «MyModule1» не признается имя командлета, функция, файл сценария или операционная программа. Проверьте правильность написания имени или если был указан путь, убедитесь, что путь верен, и повторите попытку.
Я предполагаю, что модуль уже был загружен в память, и я должен просто вызвать его. (Обратите внимание, что имя модуля и имя команды такие же)
/////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////
Update: Пробовал это тоже есть загрузка модуля прямо с пути - >> без везения -
Исключение после обновления: [Хотя модуль присутствует, отлично работает в ISE x86 оболочке]
Параметр не может быть найдено, что соответствует имени параметра «C: \ Windows \ SysWOW64 \ WindowsPowerShell \ v1.0 \ Modules \ MyModules \ MyModule1 \ MyModule1.psm1.
////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// /////////////////////
Я тоже попытался это, но не повезло - не обновили вопрос с этим , –