Разрешения WMI для стандартного пользователя Windows 7

#.net #windows-7 #wmi #serial-port

#.net #windows-7 #wmi #последовательный порт

Вопрос:

У меня есть приложение .NET, которое использует WMI для перечисления последовательных портов и поиска устройства с определенным идентификатором продукта. Приложение работает нормально при входе в систему от имени администратора, но мне нужно, чтобы оно работало на компьютере с Windows 7 от имени обычного пользователя.

Я попытался запустить его от имени администратора. Не работает. Я добавил пользователя в группу администраторов. Не работает. Я изменил все параметры безопасности из элемента управления WMI. Не работает.

Любая помощь будет принята с благодарностью.

Вот мой код WMI.

     ManagementObjectSearcher searcher =
            new ManagementObjectSearcher("root\WMI",
            "SELECT * FROM MSSerial_PortName");

        foreach (ManagementObject queryObj in searcher.Get())
        {
            Console.WriteLine("-----------------------------------");
            Console.WriteLine("MSSerial_PortName instance");
            Console.WriteLine("-----------------------------------");
            Console.WriteLine("PortName: {0} : Instance: {1} ", queryObj["PortName"], queryObj["InstanceName"]);
            string instanceName = (string)queryObj["InstanceName"];

            if (instanceName.Length > 0 amp;amp; instanceName.Contains("6001"))
            {
                return (string)queryObj["PortName"];
            }
        }
  

Комментарии:

1. Установлены ли RootWMI разрешения пространства имен для указанного пользователя?

2. Я сделал. Я включил все разрешения на всякий случай, но мне не повезло.

3. В настоящее время у меня нет доступа к компьютеру с Windows 7, чтобы получить точную ошибку, но это была System.Management. Исключение ManagementException; msdn.microsoft.com/en-us/library /…

4. Однако это не было исключением, в котором отказано в доступе.

5. Знаем ли мы, какое фактическое сообщение присутствует в System.Managment. Исключение ManagmentException было?