Назад | Перейти на главную страницу

Win32_LogonSessions возвращает старые сеансы

Я пытаюсь идентифицировать зарегистрированные сеансы с помощью запроса WMI с помощью PowerShell с:

$logon_sess = @(gwmi win32_logonsession -ComputerName $computername)

Но я вижу, что эта команда также сообщает о более старых сеансах, они все еще активны? Как его сбросить?

И когда я сравниваю результаты с командой «query user», я вижу разные результаты, потому что команда «Query user» возвращает только текущие сеансы.

Тогда как я могу получить реальный результат существующих сеансов с помощью метода WMI Win32_LogonSession?

Вы наблюдаете такое поведение, потому что Бюллетень по безопасности Microsoft MS16-111 содержит обновление, которое изменило способ обработки Windows объектов сеанса входа в систему. Теперь любая служба или приложение, будь то Microsoft или стороннее лицо, которое пропускает токены доступа, теперь также пропускает объекты сеанса входа в систему.

Вы пропускаете объекты сеанса входа в систему каждый раз, когда пользователь выходит из системы, и вы ничего не можете с этим поделать, кроме как попросить поставщика службы или приложения исправить их код, чтобы он больше не пропускал токены.

https://blogs.technet.microsoft.com/askds/2017/04/05/using-debugging-tools-to-find-token-and-session-leaks/