Автор | Сообщение |
|
| |
Пост N: 633
Зарегистрирован: 17.06.10
|
|
Отправлено: 06.01.22 14:37. Заголовок: Идентификатор сессии
Приветствую ! Как можно узнать идентификатор текущей RDP-сессии ?
|
|
|
Ответов - 37
, стр:
1
2
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 7206
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.01.22 16:18. Заголовок: Andrey пишет: Да, с..
Andrey пишет: цитата: | Да, сделал пока так. Работает однако ! |
| НЕ РАБОТАЕТ !!! Если запускать под учёткой пользователя - то НЕ работает ! Если запускать под учёткой администратора, то работает. Блин, опять засада.
|
|
|
|
| |
Пост N: 7576
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.01.22 16:43. Заголовок: Andrey пишет: Если ..
|
|
|
|
| постоянный участник
|
Пост N: 7207
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.01.22 16:54. Заголовок: Dima пишет: ну так ..
Dima пишет: цитата: | ну так зашей L/P админа там где подключение идет в ConnectServer |
| В твоём примере нет ConnectServer ! Как это можно добавить ?
|
|
|
|
| |
Пост N: 7577
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.01.22 17:00. Заголовок: Andrey пишет: В тво..
Andrey пишет: цитата: | В твоём примере нет ConnectServer ! |
| Dima пишет: цитата: | oWMI:= oLocator:ConnectServer(cComp,"ROOT\CIMV2") |
| а это что ? может пример не тот смотришь ?
|
|
|
|
| постоянный участник
|
Пост N: 7208
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.01.22 17:01. Заголовок: Dima пишет: а это ч..
Dima пишет: Где логин и пароль добавить ?
|
|
|
|
| |
Пост N: 7578
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.01.22 17:04. Заголовок: Andrey пишет: Где л..
Andrey пишет: цитата: | Где логин и пароль добавить ? |
| Ты трезвый вообще ? oWMI:= oLocator:ConnectServer(cComp,"ROOT\CIMV2",логинТУТ,пассТУТ) ведь ссылку на доку же дал
|
|
|
|
| постоянный участник
|
Пост N: 7209
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.01.22 17:29. Заголовок: Dima пишет: ведь сс..
Dima пишет: цитата: | ведь ссылку на доку же дал |
| objwbemServices = .ConnectServer( _ [ ByVal strServer ], _ [ ByVal strNamespace ], _ [ ByVal strUser ], _ [ ByVal strPassword ], _ [ ByVal strLocale ], _ [ ByVal strAuthority ], _ [ ByVal iSecurityFlags ], _ [ ByVal objwbemNamedValueSet ] _ ) Смутил параметр [ ByVal strNamespace ] Спасибо ! Буду пробовать.
|
|
|
|
| |
Пост N: 7579
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.01.22 18:14. Заголовок: Andrey пишет: Смути..
Andrey пишет: цитата: | Смутил параметр [ ByVal strNamespace ] |
| strNamespace – задаем пространство имен (например, root\CIMV2), если оно отсутствует, то будет взято пространство по умолчанию (оно прописано в реестре в ветке HKLM\SOFTWARE\Microsoft \WBEM\Scripting\ Default Namespace)
|
|
|
|
| постоянный участник
|
Пост N: 7211
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.01.22 13:43. Заголовок: Dima пишет: oWMI:= ..
Dima пишет: цитата: | oWMI:= oLocator:ConnectServer(cComp,"ROOT\CIMV2",логинТУТ,пассТУТ) |
| Если логин и пароль неправильны, то прога вылетает с ошибкой. Error BASE/1004 Метод не экспортирован: SECURITY_ Args: [1] = U --------------------------------- Stack Trace --------------------------------- Called from SECURITY_(0) Called from WMILOGONSESSION(114) in module: hmgLogonSession.prg Called from MAIN(45) in module: hmgLogonSession.prg Как узнать что логин и пароль подошли на этом сервере ? Если админ поменяет пароль, то прога будет просто вылетать. С админом всегда трудно договориться. Они частенько меняются на фирме.
|
|
|
|
| |
Пост N: 7580
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.01.22 15:43. Заголовок: Andrey пишет: Как у..
Andrey пишет: цитата: | Как узнать что логин и пароль подошли на этом сервере ? |
| я думаю что примерно так BEGIN SEQUENCE WITH {| oErr | Break( oErr ) } oLocator:= win_oleCreateObject( "wbemScripting.SwbemLocator" ) oWMI:= oLocator:ConnectServer(cComp,"ROOT\CIMV2", Login , pass) if !hb_isobject(oWMI) ? "Что то пошло не так :)" ? hb_valtoexp(oWmi) Owmi:=NIL endif Recover // тут тоже можно что то чекануть END SEQUENCE
|
|
|
|
| постоянный участник
|
Пост N: 7212
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.01.22 15:56. Заголовок: Вообщё хрень получае..
Вообщё хрень получается. Сегодня пример перестал работать. Вот пример - Скрытый текст
/* * MINIGUI - Harbour Win32 GUI library Demo 28-01-2022 * * Copyright 2022 Dima - http://clipper.borda.ru/?32-dima * * Сколько клиентов подключилось к серверу (RDP-сессии) или список логинов RDP-сессий ? * How many clients connected to the server (RDP sessions) or a list of RDP session logins? */ #define _HMG_OUTLOG #include "hmg.ch" REQUEST HB_CODEPAGE_RU1251 ANNOUNCE RDDSYS ///////////////////////////////////////////////////////////////////// PROCEDURE MAIN LOCAL oWMI, objWMI, oTerminal, objItem, Ocosver, elem, cLog SET EPOCH TO ( Year(Date()) - 50 ) SET LANGUAGE TO RUSSIAN SET CODEPAGE TO RUSSIAN SET Date TO GERMAN cLog := ChangeFileExt( Application.ExeName, ".log" ) DELETEFILE(cLog) SET LOGFILE TO &cLog // set filename for debug output to file SET WINDOW MAIN OFF ? REPL("= ",20) + "program Start " + HB_TSTOSTR( hb_DateTime() ) + REPL(" =",20) ? "win_OsIsTSClient()", win_OsIsTSClient() objWMI := WmiService() objWMI:Security_:ImpersonationLevel := 3 objWMI:Security_:AuthenticationLevel := 6 Ocosver:= objWMI:InstancesOf ("Win32_OperatingSystem") for each elem in Ocosver ? elem:name next oTerminal := objWMI:ExecQuery("Select * from Win32_LogonSession Where LogonType=10" ) ? "Number of terminal sessions:",oTerminal:count FOR EACH objItem IN oTerminal ? "objItem:LogonId", objItem:LogonId ? "objItem:StartTime", objItem:StartTime ? objItem:Name // objItem:Name и остальные фишки почему то возвращают NIL next oTerminal := objWMI:ExecQuery("Select * from Win32_LogonSession Where LogonType=10" ) FOR EACH objItem IN oTerminal id := objItem:LogonId userlist := objWMI:ExecQuery("ASSOCIATORS OF {Win32_LogonSession.LogonId="+id+"} WHERE AssocClass=Win32_LoggedOnUser Role=Dependent") ? id For each elem in userlist ? elem:name, elem:Status Next NEXT ? "." ; ? "=== End ===" ShellExecute( 0, "Open", cLog,,, 1 ) RETURN ///////////////////////////////////////////////////////////////////// FUNCTION WMIService( cComp ) Local oWmi ,oLocator hb_default(@cComp,'.') BEGIN SEQUENCE WITH {| oErr | Break( oErr ) } oLocator:= win_oleCreateObject( "wbemScripting.SwbemLocator" ) oWMI := oLocator:ConnectServer(cComp,"ROOT\CIMV2") End SEQUENCE RETURN oWmi
| Взял твой пример и сделал минимум переделок. Что опять недосмотрел ?
|
|
|
|
|
| |
Пост N: 7581
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.01.22 16:07. Заголовок: Andrey пишет: Взял ..
Andrey пишет: цитата: | Взял твой пример и сделал минимум переделок |
| Лучше оставь свой пример который работал и сделай в нём тот же минимум переделок. А если чего и забыл то может L/P указать при подключении к серваку в строке oWMI := oLocator:ConnectServer(cComp,"ROOT\CIMV2")
|
|
|
|
| постоянный участник
|
Пост N: 7213
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.01.22 16:30. Заголовок: Dima пишет: Лучше о..
Dima пишет: цитата: | Лучше оставь свой пример который работал и сделай в нём тот же минимум переделок. |
| Тот тоже не работает....
|
|
|
|
| |
Пост N: 7582
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.01.22 18:39. Заголовок: Может админ увидел т..
Может админ увидел твои движняки и кислород перекрыл в виде отключения WMI сервиса :)
|
|
|
|
| |
Пост N: 7584
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.01.22 20:03. Заголовок: Глянь что возвращает..
Глянь что возвращает oWMI:= oLocator:ConnectServer(cComp,"ROOT\CIMV2") Если это не объект то печалька и видать админчег что то подкрутил......
|
|
|
|
| постоянный участник
|
Пост N: 7215
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.02.22 17:34. Заголовок: Это просто цирк а не..
Это просто цирк а не WMI. Как нет пользователей, то пример работает. Как пользователей больше 2 то пример не работает - возвращает 0 !
|
|
|
|
| |
Пост N: 7602
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.22 18:15. Заголовок: Да уж........
Да уж......
|
|
|
Ответов - 37
, стр:
1
2
All
[только новые]
|
|