У меня есть сценарий powershell, мне нужно выполнить его с помощью c#
string psData = System.IO.File.ReadAllText(@"C:\Users\m\Desktop\power.ps1");
using (PowerShell PowerShellInstance = PowerShell.Create())
{
PowerShellInstance.AddScript(psData);
IAsyncResult result = PowerShellInstance.BeginInvoke();
while (!result.IsCompleted)
{
Logger.Info("Wait initiated");
Thread.Sleep(5000);
}
Logger.Info("Execution completed");
}
Использование приведенного выше сценария кода выполняется, но как я могу передать аргументы сценарию оболочки
Я изменился код
string psData = System.IO.File.ReadAllText(@"C:\Users\m\Desktop\power.ps1");
Process pr = new Process();
var processStartInfo = new ProcessStartInfo()
{
FileName = "powershell.exe",
Arguments = $"-NoProfile -ExecutionPolicy unrestricted -file \""+psData+"\" \"arg1\" \"arg2\"",
UseShellExecute = false
};
pr.StartInfo = processStartInfo;
pr.Start();
pr.WaitForExit();