Вам необходимо добавить ссылку на проект к System.Management.Automation
сборке * и System.Collections.Objectmodel
(для вывода выполнения).
Затем вам нужно будет создать статический метод для класса PowerShell (Примечание. Класс PowerShell реализует IDisposable
, поэтому вам нужно обернуть его в блок использования):
using (PowerShell PowerShellInstance = PowerShell.Create())
{
}
Useметод добавления сценария (PowerShellInstance.AddScript())
для добавления сценария.
Оттуда вы можете выполнить свой сценарий синхронно или асинхронно, используя .Invoke()
и .BeginInvoke()
с уважением.
Ссылка на этот блог MSDN здесь:https://blogs.msdn.microsoft.com/kebab/2014/04/28/executing-powershell-scripts-from-c/