Postscriptum
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Клиенты запускают приложение с сервера, используя стандартый терминал Windows(mstsc.exe). Иногда терминальные сессии некорректно закрываюся, компы виснут и т.д. и т.п. Как на VBScript узнать, повисло это приложение или нет? Для того, чтоб узнать, сколько юзеров и кто работают с этим приложениям использую такой код: Код: strComp="." strnamespace="Root\CIMV2" set objService=GetObject("WinMgmts:\\" & strComp & "\" & strNamespace) set colprocess=objService.ExecQuery _ ("select * from win32_Process where Name='program.exe'") kol=0 for each objProcess in colProcess intRes=objProcess.GetOwner(strUserName,strUserDomain) if IntRes=0 then Response=MsgBox("Владельцем процесса " & objProcess.Name & " является " & strUserDomain & "\" & strUserName,0,"Информация") kol=kol+1 else Response=MsgBox("Ошибка при определении владельца процесса " & objProcess.Name,0,"Ошибка") end if next | Если зайти на сервере в диспетчер служб терминалов, там в процессах, если пользователь действительно работает с этим приложением, в колонке "Сеанс" стоит RDP-TCP#0, если какой-то косяк, то в этой колонке пусто. Как VBScript-ом узнать содержимое этой колонки? И есть где информация по полям, которые существуют у объекта objProcess? |