Windows

Win32_LogonSessions 返回舊會話

  • April 5, 2017

我正在嘗試使用 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/

引用自:https://serverfault.com/questions/837356