2013-03-08 2 views
1

Я пытаюсь написать приложение для форм Windows, которое позволит мне проверять/запускать/останавливать службы на нескольких серверах. У меня есть код установки для проверки служб на локальном компьютере, но я не могу понять, как проверить удаленную машину:Удаленная проверка/запуск/остановка служб

try 
     { 
      ServiceController machsmint = new ServiceController(); 
      machsmint.ServiceName = "MACHSMIntegration"; 

      if (machsmint.Status.ToString().ToLower() == "stopped") 
      { 
       label_machsmINTSTATUS.Text = "Service is not Running"; 
      } 

      if (machsmint.Status.ToString().ToLower() == "running") 
      { 
       label_machsmINTSTATUS.Text = "Service is Running"; 
      } 
     } 
    catch 
     { 
      label_machsmINTSTATUS.Text = "Service is not Running"; 
     } 

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

ответ

2

ServiceController содержит constructor, который позволяет указать имя удаленной машины.

+0

Хорошо, так что я изменил мой контроллер службы к этому: 'ServiceController machsmint = новый ServiceController («MACHSMIntegration»,«SERVER1»);' Это теперь работает на моих серверах, которые работают с Windows 2003, но серверы, которые работают 2008 (sp2) не работают. Есть ли что-то другое в 2008 году, которое мне нужно сделать? –

+0

Я думаю, что я сузил его до настройки безопасности. B/c мои серверы 2003 года используют учетные данные NT, но мои серверы 2008 года используют локального пользователя. Есть ли способ использовать это с чем-то вроде класса имперсонатора для олицетворения этого локального пользователя? –

Смежные вопросы