我有一个 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 以获取当前用户访问级别(例如跟踪事件?)
谢谢洛伦佐