Как выполнить скрипт PowerShell, используя c# - PullRequest
0 голосов
/ 28 апреля 2020

Мне нужно выполнить скрипт PowerShell, используя c#

ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.FileName = @"cmd.exe";
            startInfo.Arguments = @"powershell -File ""C:\Users\user1\Desktop\power.ps1""";
            startInfo.Verb = "runas";
            startInfo.RedirectStandardOutput = true;
            startInfo.RedirectStandardError = true;
            startInfo.UseShellExecute = false;
            startInfo.CreateNoWindow = true;
            Process process = new Process();
            process.StartInfo = startInfo;
            process.Start();
            process.WaitForExit();

Это не работает. Кто-нибудь может мне помочь? У меня есть файл сценария PowerShell, и иногда он будет иметь аргументы для передачи

1 Ответ

1 голос
/ 29 апреля 2020

Запуск .ps1 из C# - это очень распространенная вещь, со множеством примеров по всему Интернету и видео на Youtube, показывающие, как / с примерами.

Вызовите сценарий Powershell из c# кода

public static int RunPowershellScript(string ps)
{
int errorLevel;
ProcessStartInfo processInfo;
Process process;

processInfo = new ProcessStartInfo("powershell.exe", "-File " + ps);
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;

process = Process.Start(processInfo);
process.WaitForExit();

errorLevel = process.ExitCode;
process.Close();

return errorLevel;
}

, а также посмотрите эти потоки stackoverflow.

Для вызова файла сценария PowerShell (example.ps1) из C#

Когда нам нужно установить для UseShellExecute значение True?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...