Имя: Пароль:
1C
 
напомните господа, как узнать имя компа в терминальной сессии
0 Skom
 
14.01.09
06:04
в терминале надо узнать имя компьютера с которого происходит вход определенного пользователя...

отдел кадров вовремя не дает информацию об уволенных сотрудниках. что бы убрать их аккаунты из 1С
а многие повадились заходить в программу под паролями уволенных администраторов ТЗ....

кароч ситуация. надо просто подловить. и наказать.
как узнать имя компа. в терминальной сессии.
1 dk
 
14.01.09
06:05
программно или интерактивно?
а в поиске был? :)
2 smaharbA
 
14.01.09
06:07
%clientname%
не всегда верно, но в большинстве своем хватит
3 smaharbA
 
14.01.09
06:08
забыл ))
Господа все в Париже (с)
4 DenLaDen
 
14.01.09
06:09
в диспетчере задач можно
5 Гефест
 
14.01.09
06:15
(0) Да просто напиши ПриНачалеРаботыСистемы, чтобы под теми аккаунтами, которые хочешь убрать, вылазило сообщение типа "С сегодняшнего числа вы уволены", ну или еще чтонибудь страшное, а потом сиди и слушай, с какой стороны будут раздаваться звуки падающих тел
6 Skom
 
14.01.09
06:19
(5) я нахожусь просто на другой базе. поэтому я не услышу.
я такую приколюху и хочу сделать гневное сообщение и как раз при начале работы системы
(давно пора блин авторанную обработку впендюрить, что бы без изменения модулей мона было что то делать, все никак руки не доходили, но сейчас сделаю 100 пудофф)

просто надо залогировать с какого именно компьютера юудет вход в систему
потом у нас видеонаблюдение. потом не сложно глянуть кто был у компа в определенное время и наказать.

(2) в коде 1С как выразить это?
7 smaharbA
 
14.01.09
06:22

ШелСкрипт=СоздатьОбъект("WScript.Shell");
Сообщить(ШелСкрипт.ExpandEnvironmentStrings("%clientname"));
8 smaharbA
 
14.01.09
06:23
процентик забыл

ШелСкрипт=СоздатьОбъект("WScript.Shell");
Сообщить(ШелСкрипт.ExpandEnvironmentStrings("%clientname%"));
9 DenLaDen
 
14.01.09
06:26
WshNetwork = CreateObject("WScript.Network");
Сообщить( WshNetwork.UserName );
10 Skom
 
14.01.09
06:27
(7) точна....пасиба
11 Skom
 
14.01.09
06:31
(2) а ты прав насчет неверно
12 Skom
 
14.01.09
06:33
+11 он выдает имя первого подключившегося. точнее залогинившегося компа.

просто счас на своей сессии проверил
а выдает имя компа другого прогера который залогинился на серваке.
13 Skom
 
14.01.09
06:42
а вот как бы поточнее
14 Sadovnikov
 
14.01.09
06:58
Перем ЗначениеКлюча;

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

Попытка
   objNet = СоздатьОбъект("WScript.NetWork");
   ИмяКлиентскогоСервера    = objNet.ComputerName;
   ИмяПользователяWindows    = objNet.UserName;
Исключение
   ИмяКлиентскогоСервера    = "";
   ИмяПользователяWindows    = "";
КонецПопытки;
15 Skom
 
14.01.09
07:03
(14) а то же самое....
выдает имя залогинившегося пользователя а не текуще подключенного
16 Sadovnikov
 
14.01.09
07:05
(15) Не понял. Что есть "имя залогинившегося пользователя" и "текуще подключенного"?
ИмяКлиентскогоКомпа - рабочая станция юзверя.
ИмяКлиентскогоСервера - имя терминального сервера, на который он прилогинился.
17 Skom
 
14.01.09
07:07
(16)
смотри. я зашел первый раз в терминальную сессию со своего компа.
а потом могу переключиться в эту сессию с другого компа не прерывая....

например залогинился на сервере терминалов с комп -
komp1

потом перехватил эту сессию с компа -
komp2

а (14) и (8) всегда показывает komp1
18 Sadovnikov
 
14.01.09
07:09
(17) Ясно. ИМХО, побреешься с узнаванием такой информации...
19 Skom
 
14.01.09
07:09
ну как бы в моем случае мне хватит того что написано в (14) и в (8)
за что вам большое спасибо. но я так...дальше развил темку
(случайно между прочим обнаружил)

вдруг кому то важно будет
20 pectopatop
 
14.01.09
07:12
Возможно тогда стоит добавить на ярлыки терминалов (на юзерских компах) запуск еще какой-нибудь процедуры-батника, которая бы отмечала где-нибудь на расшаренной папке сервера с каког компа зашли.
Т.е. перед запуском ярлыка терминала вызывался чтоб батник
21 Skom
 
14.01.09
07:16
(20) ну в моем случае перехват терминальных сессий со стороны простых пользователей - это фантастика
22 Если
 
14.01.09
07:18
(21) Этож и запретить можно. Переподключение только от прежнего клиентоса. Или гоню?
23 Skom
 
14.01.09
07:29
а не знаю. может и можно я не админю серваки))
24 smaharbA
 
14.01.09
08:20
(18) не побреется, через WTSQuerySessionInformation
25 Sadovnikov
 
14.01.09
08:21
(24) Так я ж писал: "ИМХО". Тобишь, я таких путей не знаю. Подкинь примерчик?
26 smaharbA
 
14.01.09
08:37
вот вроде (нужен ворд, не помню, толи всех дает, толи текущего)
http://www.karat-e.ru/files/termsessions.zip
27 smaharbA
 
14.01.09
08:37
используя динаврап можно анологично без извратов лишних сделать
28 Sadovnikov
 
14.01.09
08:41
(26) Пасиб. Гляну.
29 Skom
 
14.01.09
08:46
(27) динаврап как использовать могешь подсказать
так для общего развития интересо просто
30 Злой Бобр
 
14.01.09
10:31
(0) Зачем? Отстреливать уволенных юзеров из домена не задача программиста.
31 Skom
 
14.01.09
10:39
(30) домен доменом а в 1С пользователи остаются
32 Злой Бобр
 
14.01.09
11:16
(31) Пользователь ссылается на сотрудника у которого есть дата приема и увольнения. Что мешает дописать строку на роверку даты увольнения и отбрасывать вход уволенному? Только не говори что ОК не заполняет риказ на увольнение в программе, если это так то это снова не проблема программиста - пусть все делают вовремя.
33 Skom
 
14.01.09
11:25
(32) надо показательно....произвести поимку злоумышленников...
34 smaharbA
 
14.01.09
11:26
накидаю чуть позже, очень занят
35 Злой Бобр
 
14.01.09
11:30
(33) Ну если вам делать абсолютно нечего кроме как заниматься функциями других людей - ... А может вы не тем занимаетесь? Как насчет перейти из рограммистов в СБ и тогда "произвести поимку злоумышленников" будет вашей повседневной и прямой обязанностью?..
36 Skom
 
14.01.09
11:38
(35) я просто подготовлю инфу для СБ
37 smaharbA
 
16.01.09
13:45
вчера накидал простенькое приложение с выводом в stdout и он же ком объект, вечерком если не лениво будет выложу обработку "не требующую" вк
38 smaharbA
 
16.01.09
13:45
без ворда )), правдо должен быть фреймворк, но он в терминале так понимаю присутствует безоговорочно
39 Fragster
 
гуру
16.01.09
13:48
я все понимаю, но зачем для задач (0) знать имя компа с которого подключаетесь? выключить пользователей терминальных, и все... а то, что у вас все пароли друг друга знают, или ходят пол одним логином/паролем - вот за это "драть нужно долго кверху задницей" (с) джей и молчаливый боб
40 smaharbA
 
16.01.09
13:51
(39) все верно, но бывает еще и случаи подглядок и паролей 123 (указом сверху назначенных)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс