我正在尝试使用 PowerShell 使用 WMI 查询来识别记录的会话:
$logon_sess = @(gwmi win32_logonsession -ComputerName $computername)
但是我看到这个命令也在报告旧的会话,这些仍然活跃吗?我怎样才能重置它?
当我将结果与“查询用户”命令进行比较时,我看到了不同的结果,因为“查询用户”命令只返回当前会话。
那么,如何使用 WMI Win32_LogonSession 方法获得现有会话的真实结果?
我正在尝试使用 PowerShell 使用 WMI 查询来识别记录的会话:
$logon_sess = @(gwmi win32_logonsession -ComputerName $computername)
但是我看到这个命令也在报告旧的会话,这些仍然活跃吗?我怎样才能重置它?
当我将结果与“查询用户”命令进行比较时,我看到了不同的结果,因为“查询用户”命令只返回当前会话。
那么,如何使用 WMI Win32_LogonSession 方法获得现有会话的真实结果?
您正在观察此行为,因为Microsoft 安全公告 MS16-111包含更改 Windows 处理登录会话对象的方式的更新。现在,任何泄漏访问令牌的服务或应用程序,无论是 Microsoft 还是第 3 方,现在也会泄漏登录会话对象。
每次用户注销系统时,您都会泄漏登录会话对象,除了让您的服务或应用程序供应商修复他们的代码以使其不再泄漏令牌之外,您无能为力。
https://blogs.technet.microsoft.com/askds/2017/04/05/using-debugging-tools-to-find-token-and-session-leaks/