Перенаправить консольный вывод для поиска признаков сбоя команды - PullRequest
0 голосов
/ 27 мая 2011

Я запускаю команду на всех компьютерах из списка. Я пытаюсь вернуть текстовый файл с надписью 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

1 Ответ

1 голос
/ 28 мая 2011

Посмотрите это видео о том, как отлаживать в visual studio:

http://www.youtube.com/watch?v=4uyDBM-qTkk

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