maverick1991 Ответов: 1

Использование скрипта C# для cmd для iisreset


Привет ребята,

Я хочу iisreset удаленную машину из моей локальной с помощью c#.
iisreset <servername> /start работает из командной строки, но когда я использую тот же скрипт из кода c#, он не работает.
Вот код, который прилагается:
Система.Диагностика.Процесс процесс = новая система.Диагностика.Процесс();
Система.Диагностика.ProcessStartInfo startInfo = новая система.Диагностика.Изменение панели();
//свойство StartInfo.WindowStyle = Система.Диагностика.ProcessWindowStyle.Скрытый;
свойство StartInfo.Имя файла = "cmd.exe";
свойство StartInfo.Аргументы = "/c iisreset <servername> /start";
процесс.Информацию = информацию;
процесс.Начать();

Любая помощь была бы очень признательна.

Что я уже пробовал:

Я попытался изменить startinfo.arguements, чтобы:
свойство StartInfo.Аргументы = "iisreset <servername> /start";

1 Ответов

Рейтинг:
0

an0ther1

Я только что создал тестовое приложение, и оно отлично работает, используя приведенный ниже код;

Process proc = new Process();
ProcessStartInfo sinfo = new ProcessStartInfo();
sinfo.FileName = "cmd.exe";
// note: the double slashes are to escape the \ character
sinfo.Arguments = "/c c:\\windows\\system32\\iisreset.exe myservername /start";
proc.StartInfo = sinfo;
proc.Start();

Вещи, которые могут остановить его работу;
а) IISRESET не установлен на локальном компьютере
б) вам нужно включить полный путь - командная строка, которую вы открываете, может не включать iisreset it it's path
c) командная строка не является локальным администратором на удаленной машине - на локальной машине требуется командная строка с повышенными привилегиями

Короткий ответ заключается в том, что вам нужно отлаживать и тестировать. Если вы избавитесь от своих аргументов и просто откроете командную строку, сможете ли вы на самом деле запустить эту команду?

с уважением


Member 14598472

Какое имя сервера я пишу

an0ther1

Имя компьютера, на котором выполняется IIS