Мне нужна моя программа на c #, чтобы выполнить запрос cmd, чтобы показать все службы sql, а затем отобразить их в окне сообщения.В ситуации, в которой я буду работать, часто будет более одного, и имена могут каждый раз отличаться.
"Служба Wmic, в которой (PathName, как '% Binn \ sqlservr%') получает заголовок, имя" отображает информацию, которая мне нужна, но возвращено несколько строк.метод WriteNote () - это метод, который записывает информацию в текстовое поле в программе.
Я перепробовал все, что могу найти в Google, и, похоже, ничего не работает.
private void DoListSQLServices()
{
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
//startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "Wmic service where (PathName like '%Binn\\sqlservr%') get caption, name";
process.StartInfo = startInfo;
startInfo.RedirectStandardOutput = true;
startInfo.UseShellExecute = false;
process.Start();
string output = process.StandardOutput.ReadToEnd();
this.WriteNote(output);
process.WaitForExit();
}
Когда я запускаю этот код, я получаю следующее:
Microsoft Windows [Версия6.1.7601] Copyright (c) 2009 Microsoft Corporation.Все права защищены.
{расположение файла проекта} \ bin \ Debug>
и файл pbd помещается в папку отладки.
Я хочу, чтобы он отображал заголовок и имя служб SQL, например, если вы запускаете эту команду через cmd вручную.В конечном итоге пользователь наберет один из них, чтобы программа перезапустила его, но я бы предпочел, чтобы программа отображала список, а не переходил к службам в окнах и осуществлял их поиск вручную.
Заранее спасибо!