Выполнение сценария 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

2022-11-14T05:23:44+00:00
Вопросы с похожей тематикой, как у вопроса:

Выполнение сценария PowerShell из C# с аргументами командной строки