none
Проблема с ConnectionOptions, При подключении получаю Access denied даже при подключении к своему компютеру. RRS feed

  • Вопрос

  • Вот такой пример из MSDN:

    using System;
    using System.Management;
    public class RemoteConnect 
    {
      public static void Main() 
      {
        // Build an options object for the remote connection
        // if you plan to connect to the remote
        // computer with a different user name
        // and password than the one you are currently using.
        // This example uses the default values. 
    
        ConnectionOptions options = 
          new ConnectionOptions();
    
        // Make a connection to a remote computer.
        // Replace the "FullComputerName" section of the
        // string "\\\\FullComputerName\\root\\cimv2" with
        // the full computer name or IP address of the
        // remote computer.
        ManagementScope scope = 
          new ManagementScope(
          "\\\\FullComputerName\\root\\cimv2", options);
        scope.Connect();
    
        //Query system for Operating System information
        ObjectQuery query = new ObjectQuery(
          "SELECT * FROM Win32_OperatingSystem");
        ManagementObjectSearcher searcher = 
          new ManagementObjectSearcher(scope,query);
    
        ManagementObjectCollection queryCollection = searcher.Get();
        foreach ( ManagementObject m in queryCollection)
        {
          // Display the remote computer information
          Console.WriteLine("Computer Name : {0}", 
            m["csname"]);
          Console.WriteLine("Windows Directory : {0}", 
            m["WindowsDirectory"]);
          Console.WriteLine("Operating System: {0}", 
            m["Caption"]);
          Console.WriteLine("Version: {0}", m["Version"]);
          Console.WriteLine("Manufacturer : {0}", 
            m["Manufacturer"]);
        }
      }
    }
    
    В строке 24 (scope.Connect();) получаю Access denied, если пытаюсь подключиться к удалённой машине. Пользователь с указанным именем есть на удалённой машине, пинг до неё проходит. Даже при попытке подключиться к своей машине, если задам в options Username и Password параметры текущего пользователя, то получаю Access denied. Если ничего не задаю, то к своей машине - той, на которой запускается программа - доступ получаю, и получаю всю информацию. И в одноранговой сети, и в сети с доменом - поведение абсолютно одинаковое. В чём может быть дело? Где-то что-то нужно настроить?
    21 февраля 2011 г. 17:26

Ответы

Все ответы

  • Посмотрите Как получить информацию об оборудовании удаленной машины, используя WMI, проверьте настройки firewall, dcom и uac.


    Для связи [mail]
    • Помечено в качестве ответа maxapet 9 марта 2011 г. 18:44
    22 февраля 2011 г. 12:50
  • После того, как добавил пользователя, от имени которого подключаюсь, на удалённой машине в группу Пользователи DCOM, стал получать сообщение: "Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA)". При этом сервер RPC на удалённой машине запущен, но от имени локального пользователя. Может ли быть недоступность сервера RPC связана с тем. что он запущен не от имени сетевой службы? Если да, то как запустить его от имени сетевой службы? В настоящее время вкладка "Вход в систему" серая, и не даёт возможности выбрать другую запись для запуска этой службы. 

    6 марта 2011 г. 19:15
  • Спасибо, Дмитрий.

    Настроил firewall - разрешил доступ WMI, но пришлось полностью отключить UAC. Без этого никак обойтись нельзя?

    9 марта 2011 г. 18:46