Recently I was fetching a problem that I need to run a PowerShell script that will change TFS user Display name and SID. I was trying to run that script from C# that was not working due to TFS security update and TLS certificate. Using this code block I resolve the Issue.
var newProcessInfo = new System.Diagnostics.ProcessStartInfo();
newProcessInfo.FileName = @"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe";
newProcessInfo.Verb = "runas"; // Define Run as administrator
newProcessInfo.Arguments = script; //Define your powershell script
newProcessInfo.UseShellExecute = false;
newProcessInfo.RedirectStandardOutput = true; // This will enable to read Powershell run output
newProcessInfo.RedirectStandardError = true;
Process proces = System.Diagnostics.Process.Start(newProcessInfo);
proces.WaitForExit();
// I want to read the output string from powershell window
StringBuilder output = new StringBuilder();
output.Append("Started");
while (!proces.StandardOutput.EndOfStream)
{
output.Append(proces.StandardOutput.ReadLine());
}
string matchingString = toDoaminValue + "\\" + toAccount + " True"; // My codition
bool isMatched = InspectPowerShellOutput(output.ToString(), matchingString);
if (!isMatched)
{
// Do something if you are not getting your expected output
}
Comments
Post a Comment