用户组已更改事件

时间:2013-10-18 12:10:44

标签: c# .net winapi wmi

有没有办法知道用户组成员列表何时发生变化?我尝试使用WMI查询,如:

SELECT * 
FROM __InstanceModificationEvent WITHIN 5 
WHERE TargetInstance ISA 'Win32_Group'

但它不起作用(事件永远不会发生)。也许在更改用户组成员时会触发Win32事件?

更新1

__InstanceOperationEvent也不起作用。我需要在应用组策略并从本地计算机上的用户组添加/删除用户时显示此更改。

2 个答案:

答案 0 :(得分:1)

似乎哪个__InstanceModificationEvent事件不会在此类中触发,但您可以使用这些其他事件。

要检测更改,请使用__InstanceOperationEvent事件

Select * From __InstanceOperationEvent Within 1 Where TargetInstance ISA 'Win32_Group'

要检测组的创建,请使用__InstanceCreationEvent事件

Select * From __InstanceCreationEvent Within 1 Where TargetInstance ISA 'Win32_Group'

要检测组的删除,请使用__InstanceDeletionEvent事件

Select * From __InstanceDeletionEvent Within 1 Where TargetInstance ISA 'Win32_Group'

答案 1 :(得分:0)

试试这个:

SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_Group';