Я запускаю команду на всех компьютерах из списка. Я пытаюсь вернуть текстовый файл с надписью PASS или FAIL для каждого компьютера. Я использую ниже StreamWriter и функции процесса. Процесс работает правильно и имеет права как на файл данных, так и на журнал ошибок Журнал ошибок, однако, всегда говорит PASS для всего.
Я не вижу ничего в окне консоли. Как я знаю, что установить, если consoleOutput = "????" к
Using swrr As New StreamWriter(ErrorLog, True)
For Each strUserName As String In strLines
Dim ConsoleOutput As String = GetCMDOutput(strUserName, saveFileDialog3.FileName & ".txt", exeSearch)
Console.ReadLine()
If ConsoleOutput = "blahblah" Then swrr.WriteLine("FAIL") Else swrr.WriteLine("PASS")
Next
End Using
Function GetCMDOutput(ByVal strUsername As String, ByVal strFileName As String, ByVal strExeSearch As String) As String
Dim Arg1 As String = strUsername
Dim Arg2 As String = strFileName
Dim Final As String = String.Format("/c pushd\\{0}\C$ && whoami.exe >> {1}", Arg1, Arg2)
Dim CMD As New Process
CMD.StartInfo.FileName = "cmd.exe"
CMD.StartInfo.Arguments = Final
CMD.StartInfo.UseShellExecute = False
CMD.StartInfo.RedirectStandardOutput = True
CMD.StartInfo.RedirectStandardInput = True
CMD.StartInfo.CreateNoWindow = True
CMD.Start()
Dim retval As String = CMD.StandardOutput.ReadToEnd
CMD.WaitForExit()
Return retval
End Function