WMI查询以捕获永久消费者的交互式登录事件

时间:2016-06-13 20:28:54

标签: powershell wmi

我是一个PowerShell新手,我想创建一个过滤器来捕获人类用户的登录信息。查看那里的文档,最流行的WMI查询似乎是:

SELECT * FROM __InstanceCreationEvent WITHIN 15 WHERE TargetInstance
ISA 'Win32_LogonSession' AND TargetInstance.LogonType = 2

这似乎不起作用,我认为交互式登录应该是0型而不是2.但是,这似乎仍然不起作用。你们有没有过滤器?加尔斯知道这有用吗?

1 个答案:

答案 0 :(得分:3)

正如您所说,基于Microsoft's documentation,交互式登录似乎是2的值。

使用PowerShell,您可以使用以下内容进行查询:

如果您不确定运行$PSVersionTable.PSVersion的版本并查看主要版本。

Powershell版本2或以下

Get-WmiObject -Class 'Win32_LogonSession' | Where {$_.LogonType -eq '2'}

PowerShell版本3或更高版本

Get-CimInstance -ClassName 'Win32_LogonSession' | Where {$_.LogonType -eq '2'}

基于Microsoft's documentation,您可以通过以下任何方式进行查询:

  

2 =互动

     

3 =网络

     

4 =批次

     

5 =服务

     

6 =代理

     

7 =解锁

     

8 = NetworkClearText

     

9 = NewCredentials

     

10 = RemoteInteractive

     

11 = CachedInteractive

     

12 = CachedRemoteInteractive

     

13 = CachedUnlock

如果要查询多个登录类型,可以将where语句更改为:

Where {$_.LogonType -in ('2','10','11','12')}

希望这有帮助。

相关问题