Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Определение имени компьютера в терминальном режиме. (http://forums.kuban.ru/f1040/opredelenie_imeni_komp-yutera_v_terminal-nom_rezhime-2848577.html)

Abaz 19.07.2012 14:59

Определение имени компьютера в терминальном режиме.
 
Добрый день.

1с v7.7. Подключаемся через терминал. В журнале регистрации имя компьютера равно имени сервера. Хотелось бы узнать с какого компьютера произошло подключение к сервере. Нашел вот такую обработочку:

ИмяКлиентскогоКомпа = "";
Реестр = СоздатьОбъект("РеестрWin");
Если Реестр.ОткрытьКлюч("HKEY_CURRENT_USER", "Volatile Environment", "KEY_QUERY_VALUE") = 1 Тогда
Реестр.ЗапроситьЗначение("CLIENTNAME", ИмяКлиентскогоКомпа);
КонецЕсли;

Попытка
objNet = СоздатьОбъект("WScript.NetWork");
ИмяКлиентскогоСервера = objNet.ComputerName;
ИмяПользователяWindows = objNet.UserName;
Исключение
ИмяКлиентскогоСервера = "";
ИмяПользователяWindows = "";
КонецПопытки;

Сообщить("Сервер: " + ИмяКлиентскогоСервера + " комп: " + ИмяКлиентскогоКомпа + " польз.: " + ИмяПользователяWindows);

ЗЫ: должна быть загружена 1С++

Имя сервера выдает, имя пользователя выдает, имя компа - пусто. Подскажите, пожалуйста, решение вопроса.

Lexusss 19.07.2012 15:48

CLIENTNAME

Abaz 19.07.2012 16:12

1-Lexusss > Не понял. Я подозреваю, что в строке:
Реестр.ЗапроситьЗначение("CLIENTNAME", ИмяКлиентскогоКомпа);
переменной ИмяКлиентскогоКомпа и присваивается значение CLIENTNAME, которое выдергивается из реестра, но так как поле пустое, видимо неправильная переменная. Видать обработку писали под 2003 сервак, а у нас 2008.

Lexusss 19.07.2012 16:24

Все эти страшные 100500 строк кода для меня совершенно не понятно. Это обычная переменная среды, получаемая командой set из командной строки.
Для 1С проще всего:
WSH=Новый COMobject("wscript.shell");
Сообщить(WSH.ExpandEnvironmentStrings("%CLIENTNAME%"));

Lexusss 19.07.2012 16:26

3+ Для 7.7 (пропустил замечание про платформу) будет
WSH=СоздатьОбъект("wscript.shell");
Сообщить(WSH.ExpandEnvironmentStrings("%CLIENTNAME%"));

Lexusss 19.07.2012 16:27

4+ Черт, первая же ссылка в гугле при поиске по названию темы!

Abaz 19.07.2012 16:31

Да, действительно, выдало имя компа. Видимо в гугле забанили, потому как название темы отправляет совсем на другие ссылки.

Спасибо, вопрос снят!

Гинзбург 19.07.2012 18:23

все ответы фуфло

Abaz 20.07.2012 07:45

7-Гинзбург > Предложите свой)

Sadovnikov 20.07.2012 08:06

8-Abaz > Нет ответа.
Запусти сессию на одном клиентском компе и забери ее с другого. И полюбуйся на имя компа.

Abaz 20.07.2012 08:32

9-Sadovnikov > Не думаю, что у нас пойдут на такие ухищрения.

Sadovnikov 20.07.2012 08:54

10-Abaz > Запусти сессию на одном клиентском компе. Дисконнектни ее. Подними с другого компа. Никаких особых ухищрений :)
Я к тому, что нет 100%-но правильно варианта. Как минимум, мне такой не знаком. Какое-то время назад по этому поводу долго здесь бились.

Гинзбург 20.07.2012 09:07

разбирайтесь сами

[url]http://www.n-d.ru/pub/ts.rar[/url]

Abaz 20.07.2012 10:04

12-Гинзбург > Спасибо, на досуге посмотрю.
11-Sadovnikov > Интересно. Ну, в принципе, перейдем на восьмерку и забудем этот вопрос как страшный сон... надеюсь.

Sadovnikov 20.07.2012 11:07

13-Abaz> А как всё это связано с переходом на восьмерку?

angro 20.07.2012 11:17

(12) красивая картинка. это фотка или художественный вымысел?

Abaz 21.07.2012 13:09

14-Sadovnikov > Напрямую никак, просто будем использовать клиент-серверный вариант и журнал регистрации будет отрабатывать корректно.

Sadovnikov 21.07.2012 13:36

16-Abaz > Блажен, кто верует...


Текущее время: 15:37. Часовой пояс GMT +3.