Имя: Пароль:
1C
 
Имя терминального пользователя
0 YF
 
10.12.04
10:19
У меня все юзвери в 1С работают через терминал.

Хочу знать имена машин, с которых они вошли в сессию и имена пользователей.

Подскажите как?

+
Писал батничек для этого - работает, но хотелось бы не батничком, а то он на экране появляется.

Скорее всего через WSH, но как ?
1 Ёжик в тумане
 
10.12.04
10:28
(0) No passaran!
иными словами - бей шпионов!
2 YF
 
10.12.04
10:30
(1)

Не понял.
А по делу есть что?
3 DimG
 
10.12.04
10:30
clientname
4 Ёжик в тумане
 
10.12.04
10:34
(3) это он вроде и так знал..
5 Rovan
 
гуру
10.12.04
10:42
(0) У терминального сервака разве нет что-то типа "Администрирование (текущие сеансы)" ? (я точно не помню давно не работал)
6 Прапорщик Задов
 
10.12.04
10:46
если у тебя поднят домен, воспользуйся ADSI
там можно что хош делать
7 YF
 
10.12.04
10:47
+

Наверное непонятно выразился:

Хочу все это узнать кодом из 1С. Сделал файл*.vbs с кодом
Set WSHShell = CreateObject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("Process")
WScript.Echo WshSysEnv("Username")
WScript.Echo WshSysEnv("Clientname")

Выдает то, что нужно.
Но как етот код запустить из 1С, т.е. именно код, не создавая файла-скрипта.

Не ругайте сильно, чо-то я не догоняю пока как запустить. Сделал так:
Процедура Сформировать()
   scrptCtrl=createobject("MSScriptControl.ScriptControl");
   scrptCtrl.language="vbscript";
   scrptCtrl.addcode("
   |Function GetName()    
   |Set WSHShell = CreateObject(""WScript.Shell"")
   |Set WshSysEnv = WshShell.Environment(""Process"")
   |WScript.Echo WshSysEnv(""Username"")
   |WScript.Echo WshSysEnv(""Clientname"")
   |End Function");
   scrptCtrl.run("GetName");
КонецПроцедуры
но не работает.