#.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 было?