|
Получить список сеансов, убить выбранный | ☑ | ||
---|---|---|---|---|
0
dark_avenger
29.09.12
✎
10:01
|
Здравствуйте,
Второй день шуршу по интернету, но никак не могу найти точку входа в терминальные сессии. Мне необходимо в 1С 8.2 УФ увидеть активные пользовательские сессии терминала и выборочную убить. Что нашел: query user/session - варварский вариант, выгружать весь список в файл и парсить, потом с помощью logoff убивать. WMI - знаю что можно, но не нашел информации как подключится и получить список активных пользователей ActiveXRDP, не стал глубоко изучать, т.к. мое приложение на УФ Может кто заморачивался подобным, или знает о решении данной задачи другими способами? |
|||
1
sttt
29.09.12
✎
10:45
|
On Error Resume Next
Dim strComputer Dim objWMIService Dim propValue Dim objItem Dim SWBemlocator Dim UserName Dim Password Dim colItems Dim strUserName Dim strUserDomain strComputer = "." UserName = "" Password = "" Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator") Set objWMIService = SWBemlocator.ConnectServer(strComputer,"root\CIMV2",UserName,Password) Set colItems = objWMIService.ExecQuery("Select * from Win32_Process",,48) For Each objItem In colItems objItem.GetOwner strUserName, strUserDomain Wscript.Echo "Process " & objItem.Name & " is owned by " _ & strUserDomain & "\" & strUserName & "." Next |
|||
2
sttt
29.09.12
✎
10:45
|
||||
3
dark_avenger
29.09.12
✎
10:53
|
(1) во, это уже интересно, спасибо, сейчас перепешу в 1С затестю
|
|||
4
dark_avenger
29.09.12
✎
14:57
|
Попутно встал еще один вопрос, вот так взлетает(но пришлось запустить под админом):
Перем strComputer,objWMIService,propValue,objItem,SWBemlocator, UserName,Password,colItems,strUserName,strUserDomain; strComputer = "."; UserName = "";//"SuperAdmin"; Password = "";//"SuperPass"; SWBemlocator = Новый COMОбъект("WbemScripting.SWbemLocator"); objWMIService = SWBemlocator.ConnectServer(strComputer,"root\CIMV2",UserName,Password); colItems = objWMIService.ExecQuery("Select * from Win32_Process WHERE Name = 'rdpclip.exe'",,48); ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Пар1"); ТЗ.Колонки.Добавить("Пар2"); Для каждого objItem из colItems Цикл objItem.GetOwner(strUserName, strUserDomain); нов = ТЗ.Добавить(); нов.Пар1 = strUserName; нов.Пар2 = objItem.SessionID; КонецЦикла; возврат 1; а вот если логин и пароль указать (пробовал запустить от юзера) то пишет: (SWbemLocator): User credentials cannot be used for local connections Не в курсе что оно хочет? |
|||
5
dark_avenger
29.09.12
✎
15:07
|
Попробовал так:
SWBemlocator.Security_.ImpersonationLevel = 3; SWBemlocator.Security_.AuthenticationLevel = 6; Ту же ошибку дает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |