C#WMI用户访问级别检测

C#WMI用户访问级别检测,c#,wmi,system.management,C#,Wmi,System.management,我有一个WMI查询,可以跟踪进程启动检测的事件。 代码与此类似: var startProcessQuery = new WqlEventQuery("Win32_ProcessStartTrace", $"ProcessName = 'notepad.exe'"); var _startProcessEventWatcher = new ManagementEventWatcher(startProcessQuery); _startProcessEventWatcher.EventArri

我有一个WMI查询,可以跟踪进程启动检测的事件。 代码与此类似:

var startProcessQuery = new WqlEventQuery("Win32_ProcessStartTrace", $"ProcessName = 'notepad.exe'");
var _startProcessEventWatcher = new ManagementEventWatcher(startProcessQuery);

_startProcessEventWatcher.EventArrived += StartProcessEventWatcher_EventArrived;
_startProcessEventWatcher.Start();
如果在我尝试启动事件监视程序时,应用程序是以“正常”权限(而不是以管理员身份)启动的,则会捕获System.Managenet.ManagementException,并显示“拒绝访问”消息

我知道监控WMI事件最好是在管理员模式下,或者是为“普通”用户启用访问权限所必需的,但是


在执行查询或启动监视程序之前,是否有一种方法(使用c#)检测WMI中的用户访问?
如果是,如何根据特定范围(例如跟踪事件)查询当前用户访问级别的WMI

多谢各位 洛伦佐