У вас нет доступа к некоторым экземплярам wmi, когда в данный момент зарегистрирован пользователь без привилегий администратора. (Это применимо только к локальным соединениям WMI)
Ссылка MSDN по теме
Это довольно отстойно!Но если вы можете запустить ваше приложение как пользователь, который является членом группы администраторов , тогда ваша проблема должна быть решена.
Добавлено примечание:
If you write a windows service with **local system** user, then you'll have full access to all wmi classes.
примечание: я пытался предоставить моему ограниченному пользователю надлежащие разрешения для доступа к желаемым действиям wmi, но, похоже, это не сработает.В этом случае вам нужно будет установить разрешения в следующих трех местах:
Start->Run->dcmoncnfg->Component Services->Computers->My Computer->Properties->COM security tab
Start->Run->dcmoncnfg->Component Services->Computers->My Computer->DCOM Config->Windows Management and Instrumention->Properties->Security tab
Start->Run->wmimgmt.msc->WMI Control(Local)->Properties->Root(just highlight)->Security tab