Я видел довольно много решений, но ни одна из них не касается моей проблемы. Я пытаюсь импортировать собственный модуль PowerShell под названием «DSInternals» в свою DLL C#.Импортируйте модуль PowerShell с C# Failed
https://github.com/MichaelGrafnetter/DSInternals
Все в моем коде кажется просто отлично, но когда я пытаюсь получить доступный модуль он не загружен.
поток отвечает
Термин «Get-ADReplAccount» не распознается как имя командлета, функции, файла сценария или исполняемой программой. Проверьте правильность написания имени или, если включен путь, проверьте правильность пути и повторите попытку.
Куда я иду не так с этим кодом?
InitialSessionState init = InitialSessionState.CreateDefault();
init.ImportPSModule(new string[] { @"D:\\DSInternals\\dsinternals.psd1" }); //location of the module files
Runspace runspace = RunspaceFactory.CreateRunspace(init);
runspace.Open();
PowerShell ps = PowerShell.Create();
ps.Runspace = runspace;
ps.Commands.AddCommand("Get-ADReplAccount"); //this command is un-recognized
foreach (PSObject result in ps.Invoke())
{
Console.WriteLine(result); //this always returns null
}
* эта команда является признанной ООН * Как вы знаете, что? Любое исключение? Любая ошибка в 'ps.Streams.Error'? – PetSerAl
Потоки отвечают словами «Термин« Get-ADReplAccount »не распознается как имя командлета, функции, файла сценария или операционной программы. Проверьте правильность написания имени или если путь был включен, убедитесь, что путь правильно и повторите попытку ». Эти командлеты включены модулем DSInternals –
Добавьте это к вашему коду: 'init.ThrowOnRunspaceOpenError = true;'. – PetSerAl