Ошибка доступа запрещена при попытке перезапустить службу на удаленном компьютере

Я пытаюсь перезапустить службу на удаленном компьютере в рабочей группе и получаю сообщение об ошибке "Отказано в доступе". Я настроил DCOM и WMI, чтобы разрешить удаленное включение сервисов для пользователя, который является членом группы локальных администраторов

вот код:

servicename = "myservice";
string IP = "SERVER"; // remote IP  
string username = "user"; // remote username  
string password = "xytly@"; // remote password  
ConnectionOptions connectoptions = new ConnectionOptions();
connectoptions.EnablePrivileges = true;
connectoptions.Impersonation = ImpersonationLevel.Impersonate;
connectoptions.Username = username;
connectoptions.Password = password;
connectoptions.Authentication = AuthenticationLevel.PacketPrivacy;
ManagementPath mp = new ManagementPath();
mp.NamespacePath = @"\root\cimv2";
mp.Server = "SERVER";
ManagementScope scope = new ManagementScope(@"\\" + IP + @"\root\cimv2", 
connectoptions);
scope.Options = connectoptions;
scope.Connect();
//WMI query to be executed on the remote machine  
SelectQuery query = new SelectQuery("select * from Win32_Service where name = 
  '" + serviceName + "'");
 using (ManagementObjectSearcher searcher = new 
  ManagementObjectSearcher(scope, query))
  {
 ManagementObjectCollection collection = searcher.Get(); 
   foreach (ManagementObject service in collection.OfType<ManagementObject>())
    {
     if (service["started"].Equals(true))
      {
       //Start the service  
       service.InvokeMethod("StopService", null);
      }
      else
      {
       //Stop the service  
       service.InvokeMethod("StartService", null);
      }
}
}

Я получаю исключение "Отказано в доступе", когда оно попадает в цикл foreach

0 ответов

Другие вопросы по тегам