Задача. Необходимо на терминальном сервере подсчитать кол-во памяти, занимаемое каждым процессом в сессии пользователя. При этом вывести в виде таблицы: Сеанс пользователя, имя процесса, учетная запись владельцп процесса, занимаемая память. Не получается
Вар 1. objWMIService.ExecQuery("SELECT * FROM Win32_Process").
Не дает результата, т.к. не видно сесии. Есть несколько процессов, которые в сеансе пользователя запускаются от имени SYSTEM.
Вар 2. QUERY PROCESS * с вариациями.
Также не дает результата, т.к. не удается связать вывод команды с вариантом 1
Вар 3. objWMIService.ExecQuery("SELECT * FROM Win32_PerfRawData_TermService_TerminalServicesSession")
Тоже не идеально - выдает только общую занимаемую память для сесии, без имени пользователя.
Вот такая фигня выходит. Кто-нибудь решал что-либо подобное? Или будут ли советы по тому, как соединить Вар 1 и Вар 2?
Вар 1. objWMIService.ExecQuery("SELECT * FROM Win32_Process").
Не дает результата, т.к. не видно сесии. Есть несколько процессов, которые в сеансе пользователя запускаются от имени SYSTEM.
Вар 2. QUERY PROCESS * с вариациями.
Также не дает результата, т.к. не удается связать вывод команды с вариантом 1
Вар 3. objWMIService.ExecQuery("SELECT * FROM Win32_PerfRawData_TermService_TerminalServicesSession")
Тоже не идеально - выдает только общую занимаемую память для сесии, без имени пользователя.
Вот такая фигня выходит. Кто-нибудь решал что-либо подобное? Или будут ли советы по тому, как соединить Вар 1 и Вар 2?