Выполнение сценария PowerShell из C# с аргументами командной строки
У меня есть другое решение. Я c# просто хочу проверить, успешно csharp ли выполняется сценарий PowerShell, потому arguments что, возможно, кто-то может csharp изменить политику. В качестве .cs-file аргумента я просто указываю args путь исполняемого скрипта.
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"powershell.exe";
startInfo.Arguments = @"& 'c:\Scripts\test.ps1'";
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
string output = process.StandardOutput.ReadToEnd();
Assert.IsTrue(output.Contains("StringToBeVerifiedInAUnitTest"));
string errors = process.StandardError.ReadToEnd();
Assert.IsTrue(string.IsNullOrEmpty(errors));
Содержимое scripts скрипта:
$someVariable = "StringToBeVerifiedInAUnitTest"
$someVariable
c#
command-line
powershell
scripting
arguments
2021-12-14T23:42:51+00:00
2022-11-14T05:23:44+00:00
XAPbKOB
Вопросы с похожей тематикой, как у вопроса:
Выполнение сценария PowerShell из C# с аргументами командной строки
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.