![]() |
![]() |
![]() |
|
Можно ли в терминале получить имя компьтера клиента? | ☑ | ||
---|---|---|---|---|
0
Ujcnm99
29.08.08
✎
11:08
|
Из 1С
|
|||
1
Ленинград
29.08.08
✎
11:10
|
да
|
|||
2
Ujcnm99
29.08.08
✎
11:11
|
А как?
|
|||
3
ДенисЧ
29.08.08
✎
11:10
|
Переменная окружения CLIENTNAME
|
|||
4
smaharbA
29.08.08
✎
11:11
|
какое имя ?
|
|||
5
Ujcnm99
29.08.08
✎
11:12
|
(3) А как к ней обратиться?
|
|||
6
smaharbA
29.08.08
✎
11:13
|
а если нету никакого имени ?
|
|||
7
Ujcnm99
29.08.08
✎
11:13
|
(4) Комп, с которого вышли в терминал
|
|||
8
Ujcnm99
29.08.08
✎
11:14
|
(6) Если нет - не надо тогда
|
|||
9
smaharbA
29.08.08
✎
11:14
|
(7) а я через 2 файрвола хожу и имя моему компу localhost.localdomain
а могло совсем не быть... |
|||
10
Ujcnm99
29.08.08
✎
12:10
|
Как узнать значение переменной окружения из 1С
|
|||
11
ДенисЧ
29.08.08
✎
12:13
|
КомандаСистемы("ECHO %CLIENTNAME% > %TEMP%\ClientName.txt")
и читай потом текстовый файл |
|||
12
Табуретка
29.08.08
✎
12:21
|
ИмяКомпьютера()
либо WshNetwork=СоздатьОбъект("WScript.Network"); Сообщить(WshNetwork.ComputerName); |
|||
13
ДенисЧ
29.08.08
✎
12:25
|
(12) И даст тебе это имя терминала...
|
|||
14
Табуретка
29.08.08
✎
12:26
|
не, тока имя твоего компа...
|
|||
15
ДенисЧ
29.08.08
✎
12:29
|
(14) Нет, это неправда. ТОлько что проверил.
1с - запущена в терминале, который залогинен с терминального цитрикс-декстопа, на которой пришёл с тини-воркстешна под пингвином. ИмяКомпьютера() выдало имя первого терминала (на котором физически работает 1с). В то же время echo %clientname% дало имя линукс-машины. |
|||
16
Табуретка
29.08.08
✎
12:39
|
почто непрада?! правда! Где запустил - то и получил...
ИмяКомпьютера() Назначение: Возвращает сетевое имя компьютера, работающего в данный момент с программой. а ты где её запускал? |
|||
17
Heckfy
29.08.08
✎
12:41
|
(16) Сабж внимательнее читаем.
|
|||
18
ДенисЧ
29.08.08
✎
12:45
|
(16) Что непонятного я говорю? Я получил имя, где физически работает 1с - то есть имя терминала. В (0), как я понимаю, требуется имя компьютера, на котором физически сидит юзер, то есть не терминала, а рабочей станции, с которой инициирован процесс на терминале.
Привожу пример. 1. Рабочая станция - PC100 - бездисковая станция. 2. Рабочий стол - Desktop - цитрикс-терминал, на который логинится 2 при начальной загрузке. 3. Dev - ещё один терминальный сервер, выделенный для программистов, к которому я логинюсь через Custom ISA Connection и имею на нём рабочий стол. Запускаю на Dev 1с и смотрю ИмяКомпьютера() - имею Dev. Смотрю на Dev echo %clientname% - вижу PC100. Где и что непонятно? |
|||
19
YHVVH
29.08.08
✎
13:00
|
присоеденяюсь че не вкурили то?
|
|||
20
Табуретка
29.08.08
✎
13:01
|
Вот и я говорю - Почто "не правда"? что ИмяКомпьютера() - выдает имя компутера на котором запущена эска...
|
|||
21
Табуретка
29.08.08
✎
13:01
|
тыж в терминале запускал... вот и получил имя сервака...
|
|||
22
Vippi
29.08.08
✎
13:04
|
(21) Внимательно читаем заголовок темы
|
|||
23
Sadovnikov
29.08.08
✎
13:05
|
Перем ЗначениеКлюча;
ИмяКлиентскогоКомпа = ""; Реестр = СоздатьОбъект("РеестрWin"); Если Реестр.ОткрытьКлюч("HKEY_CURRENT_USER", "Volatile Environment", "KEY_QUERY_VALUE") = 1 Тогда Реестр.ЗапроситьЗначение("CLIENTNAME", ИмяКлиентскогоКомпа); КонецЕсли; Попытка objNet = СоздатьОбъект("WScript.NetWork"); ИмяКлиентскогоСервера = objNet.ComputerName; ИмяПользователяWindows = objNet.UserName; Исключение ИмяКлиентскогоСервера = ""; ИмяПользователяWindows = ""; КонецПопытки; |
|||
24
ДенисЧ
29.08.08
✎
13:05
|
(21) а надо было (7)
|
|||
25
Табуретка
29.08.08
✎
13:06
|
(22)я прекрасно вижу заголовок темы... тока некто отверг моё утверждение об некоторых функциях...
|
|||
26
Vippi
29.08.08
✎
13:09
|
(25) Какое утверждение?
В (7) задача описана предельно ясно. Если конечно уметь читать, а не утверждать. |
|||
27
Табуретка
29.08.08
✎
13:17
|
(26) см (13)(14)(15 первое предложение)
|
|||
28
Полякова
29.08.08
✎
13:18
|
Да отстаньте вы от Табуретки этой, видно же что он писатель, а не читатель. Все равно не поймет что ему говорят.
|
|||
29
Табуретка
29.08.08
✎
13:20
|
(28)+1 Да не приставайте ко мне! %)))
я знаю кунг-фу, тау-джитсу и есче много матерных слов... ;)) |
|||
30
ДенисЧ
29.08.08
✎
13:20
|
(27) я опроверг твоё неверное суждение. Где я не прав?
|
|||
31
ДенисЧ
29.08.08
✎
13:20
|
(29) а я ган-фу знаю! Во!
|
|||
32
Табуретка
29.08.08
✎
13:21
|
(30) неверное суждение о том что фн покажет имя компутера на котором запущена?
|
|||
33
Vippi
29.08.08
✎
13:24
|
(32) Верное. Покажет имя терминального сервера.
Но не клиентского компа. |
|||
34
Мулька
29.08.08
✎
13:29
|
WshShell = CreateObject("WScript.Shell");
Сообщить(WshShell.ExpandEnvironmentStrings("%clientname%")); |
|||
35
Sadovnikov
29.08.08
✎
13:29
|
(32) Посмотри ОЧЕНЬ внимательно на (23)
|
|||
36
ДенисЧ
29.08.08
✎
13:30
|
(32) "не, тока имя твоего компа..." (с) НеСкажуКто.
|
|||
37
Vippi
29.08.08
✎
13:36
|
(28) Он писатель-эстонец.
|
|||
38
Табуретка
29.08.08
✎
13:37
|
(36) ты хочеш сказать что эска в "терминале" запускается с твоего компа?
|
|||
39
Табуретка
29.08.08
✎
13:39
|
"твоего компа" - подразумевался компутер на котором запущена эска, в данном случае - сервак, соответственно имя выдаст сервака...
|
|||
40
ДенисЧ
29.08.08
✎
13:39
|
(39) я не телепат. Для мен мой комп - это тот, на котором я сижу.
|
|||
41
Vippi
29.08.08
✎
13:40
|
(39) И еще раз читаем (7)
|
|||
42
Табуретка
29.08.08
✎
13:41
|
а я все время считал что сидят за компутером, а не на них...
|
|||
43
Sadovnikov
29.08.08
✎
13:41
|
(39) Блин, ну ступил ты. И сам это понял. И слить грамотно не можешь.
Ну почему бы просто не сказать: "Блин! Точно! Не верно прочитал/не правильно понял, да и вообе, пятница :)" Нет, мы будем на кучу постов изворачиваться, пытаться говорить, что нас не правильно поняли и т.д. Тьфу. |
|||
44
Табуретка
29.08.08
✎
13:44
|
Я не ступил, и прочел тему прально...
каюсь - неверно ответил в (12), в (14) осознал свою ошибку и дальше понеслось... |
|||
45
Vippi
29.08.08
✎
13:47
|
(37+) И родственники до седьмого колена эстонцы.
|
|||
46
Полякова
29.08.08
✎
13:52
|
Даешь день Эстонии на мисте!
Главный героем объявляется Табуретка :)) |
|||
47
PVL
29.08.08
✎
13:51
|
WshShell = СоздатьОбъект("WScript.Shell");
WshSysEnv = WshShell.Environment("PROCESS"); ИмяВДомене = WshSysEnv.Item("USERNAME"); ИмяКомпа = WshSysEnv.Item("CLIENTNAME"); |
|||
48
PVL
29.08.08
✎
13:52
|
(0) WshShell = СоздатьОбъект("WScript.Shell");
WshSysEnv = WshShell.Environment("PROCESS"); ИмяВДомене = WshSysEnv.Item("USERNAME"); ИмяКомпа = WshSysEnv.Item("CLIENTNAME"); |
|||
49
Ujcnm99
29.08.08
✎
15:00
|
Спасибо всем за внимание и участие.
|
|||
50
КонецЦикла
29.08.08
✎
15:03
|
1С++
//Скоммуниздил у ДмитрО по-моему Функция ПолучитьИмяПользователя() Перем ЗначениеКлюча; ИмяПользователяWindows = ""; Реестр = СоздатьОбъект("РеестрWin"); Если Реестр.ОткрытьКлюч("HKEY_CURRENT_USER", "Volatile Environment", "KEY_QUERY_VALUE") = 1 Тогда Реестр.ЗапроситьЗначение("CLIENTNAME", ИмяПользователяWindows); КонецЕсли; Если Реестр.ОткрытьКлюч("HKEY_CURRENT_USER", "Software\Microsoft\Windows\CurrentVersion\Explorer", "KEY_QUERY_VALUE") = 1 Тогда Если Реестр.ЗапроситьЗначение("Logon User Name", ЗначениеКлюча) = 1 Тогда Если ПустаяСтрока(ИмяПользователяWindows) = 0 Тогда ИмяПользователяWindows = ИмяПользователяWindows + "\"; КонецЕсли; ИмяПользователяWindows = ИмяПользователяWindows + ЗначениеКлюча; КонецЕсли; КонецЕсли; Возврат ИмяПользователяWindows; КонецФункции // ПолучитьИмяПользователя() |
|||
51
Ковычки
31.08.08
✎
15:26
|
Никто не угадал... У всех при разных раскладах вернет савсем не то, что хочется...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |