Я пытаюсь получить все имена серверов из установленных экземпляров SQL Server локально.Я знаю, что есть команда "sqlcmd -L", которая возвращает этот список в cmd.Ниже приведен код, который я использую для запуска cmd.
Process sqlServers = new Process();
ProcessStartInfo psi = new ProcessStartInfo();
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = false; (DEBUGGING PURPOSES)
psi.FileName = "cmd";
psi.Arguments = @"sqlcmd -L";
psi.UseShellExecute = false;
sqlServers = Process.Start(psi);
string serverList = sqlServers.StandardOutput.ReadToEnd();
sqlServers.WaitForExit(30000);
Я использовал эту базу кода в другом разделе программы, и она отлично работает.Хотя я не читаю обратно значение.
Может кто-нибудь помочь мне выяснить, почему при запуске этого кода открывается окно cmd, но аргументы не запускаются и ничего не возвращается.