Имя: Пароль:
1C
 
С какого компа запущена 1С
0 АлекРП
 
05.01.07
23:58
я в сетевой настройке полный ламер. в журнале регистрации, если заходить в терминальном доступе отражается сервак, а мне надо, чтобы показывался именно тот комп, который подрубается к серваку через сервер терминалов. как это сделать?
1 Neco
 
06.01.07
00:17
В терминале никак. Кто "крыса" выясняй по имени пользователя в журнале регистрации.
2 Варвар
 
06.01.07
00:18
(1) ты в этом уверен что никак?
3 АлекРП
 
06.01.07
00:20
(2) Ага. Есть мысля...
4 Варвар
 
06.01.07
00:21
(3) да и реализации были.
5 Neco
 
06.01.07
00:22
(2) В 1Ске никак. Но в виндовом журнале всегда можно порыться
6 АлекРП
 
06.01.07
00:22
(4) каким образом это реализовать?
7 АлекРП
 
06.01.07
00:25
Неужели ни у кого таких проблем не возникало?
8 Варвар
 
06.01.07
00:35
(5) как!
(6) я не знаю, просто видел когдато толи ВК, толи еще чота которое записывало в ЖР именно комп с которого работали.
Названия не помню - есть желание найти - поиск тебе в руки.
В 8-ке я бы реализовал бы записью в ЖР в коде 1С, а определение компа с помощью wsh.
9 Варвар
 
06.01.07
00:37
(8) винда то знает с какого компа юзер работает. Значит надо найти как из нее это выцепить. А записать в ЖР не составляет труда.
10 АлекРП
 
06.01.07
00:43
во скока эту работу можно оценить?
11 shachneff
 
06.01.07
09:45
// Функция возвращает имя текущего компьютера при локальной работе и
// имя терминального клиента при работе по протоколу RDP 5
Функция ИмяТерминальногоКлиента() Экспорт

   ClientName = "";
   Попытка
       scrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");
       scrptCtrl.language = "vbscript";
       scrptCtrl.addcode("
       |
       |Function GetUser()    
       |Set WSHShell = CreateObject(""WScript.Shell"")
       |Set WshSysEnv = WshShell.Environment(""Process"")
       |GetUser = WshSysEnv(""Username"")
       |End Function
       |
       |Function GetClient()    
       |Set WSHShell = CreateObject(""WScript.Shell"")
       |Set WshSysEnv = WshShell.Environment(""Process"")
       |GetClient = WshSysEnv(""Clientname"")
       |End Function
       |");
       
       ClientName = scrptCtrl.run("GetClient");
       Если ВРег(ClientName) = "CONSOLE" ИЛИ ClientName = "" ИЛИ ClientName = Неопределено ИЛИ ClientName = Null Тогда // мы работаем локально
           Возврат ВРег(ИмяКомпьютера());
       Иначе
           Возврат ВРег(ClientName);
       КонецЕсли;
   Исключение
       
       Сообщить("Ошибка обращения к значению переменной окружения CLIENTNAME. Обратитесь к администратору.");
       Возврат ВРег(ИмяКомпьютера());

   КонецПопытки;
   
КонецФункции
12 АлекРП
 
06.01.07
09:56
(11) спасибо. в понедельник потестю на работе