Возникла необходимость контролировать пользователей удаленного рабочего стола
на предмет их активности собственно на удаленном рабочем столе.
То есть нужно посчитать время, в течении которого пользовательская терминальная
сессия была активна на протяжении суток. Качество активности пользователя пока значения не имеет.
Есть план написать скрипт, который будет один раз в минуту запускаться шедуллером,
опрашивать сервер на предмет активности всех запущенных сеансов и записывать в протокол (текстовый файл).
Последующая обработка протокола - дело техники.
Вопрос в том, какой текст написать в скрипте, чтобы получить информацию об активности сеансов?
Есть желание использовать Виндовую фишку WMI, но нет возможности. Точнее возможность наверняка есть,
но непонятно как это сделать.
Забодяжил вот такой скрипт:
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set sessions = objWMIService.ExecQuery ("select * from Win32_LoggedOnUser")
For Each objSession in sessions
Wscript.Echo objSession.Antecedent
Next
Перепробовал в этом скрипте почти все функции типа "Win32_...", не могу найти
которая из них выдаёт нужную информацию.
Всего-то надо получить список пользователей с их состояниями.
Как в диспетчере задач на закладке Пользователи.
Достаточно только "Имя пользователя" и "Состояние".