Имя: Пароль:
1C
1С v8
Как узнать логин пользователя на сервере предприятия ?
0 Patient_ya
 
25.10.13
09:54
Добрый день!
Есть выделенный сервер предприятия 1с, и сервер, на который заходят пользователи. НА сервере 1с захожу в консоль управления, получаю список соединений ко всем информационным базам. НО в этом списке можно увидеть только пользователя ИБ, но не пользователя windows.
Как можно определить, какой пользователь ОС работает с какой базой?
Доменная авторизация не подходит
1 zak555
 
25.10.13
09:55
позвонить пользователю и спросить под каким логин он работает
2 MSII
 
25.10.13
10:01
(0) Если пользователя информационной базы знаешь, подключайся к нужной ИБ, получай нужного пользователя и читай его свойство ПользовательОС.
3 Patient_ya
 
25.10.13
10:08
Позвонить пользователю не получится, эту операцию необходимо выполнять программно.

Подключится к нужной ИБ не могу, т.к. не знаю логина и пароля к этой базе. Все, что есть - админ права на кластер 1с.
4 zak555
 
25.10.13
10:10
(3) > Позвонить пользователю не получится

это ты зря
пользователям 1с порой так не хватает живого общения
5 80ksa
 
25.10.13
10:16
(2) ух-ты. Это com-соединением? а какой тип имеет этот пользователь, это ж не спр. Пользователи, так?
6 MSII
 
25.10.13
10:17
(3) Ну и не надо. Все равно, даже если бы ты подключился и прочитал свойство ПользовательОС, не факт, что пользователь в данный момент работает именно под этим пользователем windows.
7 MSII
 
25.10.13
10:18
(5) Не, справочник Пользователи тут ни при чем, см. МенеджерПользователейИнформационнойБазы.
8 80ksa
 
25.10.13
10:20
(7) гляну.
9 Patient_ya
 
25.10.13
10:22
Ребята, в ИБ может пользователей вообще не быть. Например, БП 2.0 только созданная. А с ней кто-то уже работает, НО КТО? Вот в чем вопрос.
10 zak555
 
25.10.13
10:24
(2) только это совсем другое означает : то, что прописано в пользователям конфигураторе
11 ptiz
 
25.10.13
10:24
А пишу (при входе в 1С) в справочник пользователей имя пользователя винды и имя компьютера, с которого выполнен выход.
12 ptiz
 
25.10.13
10:24
"Я пишу..."
13 zak555
 
25.10.13
10:25
Глобальный контекст (Global context)
ПользователиИнформационнойБазы (InfoBaseUsers)
Использование:

Только чтение.
Описание:

Тип: МенеджерПользователейИнформационнойБазы.
Используется для управления списком пользователей информационной базы.

Доступность:

Сервер, толстый клиент, внешнее соединение.
14 zak555
 
25.10.13
10:31
тебе надо


новый COMОбъект("WScript.Network").UserName
15 фобка
 
25.10.13
10:32
У менеджерапользователей пароль просто так не посмотришь, он зашифрован, только брутфорс писать (создание/сравнение), но он будет медленный
16 MSII
 
25.10.13
10:42
(15) ТСу логин нужен, пароль он не просил.
17 Patient_ya
 
25.10.13
11:06
ПользователиИнформационнойБазы нету. Справочника Пользователи нету.
База может быть вообще пустая.

Клиент работает под из windows, мне нужно узнать под каким пользователем windwos он коннектится к базе.

Как вам вариант, смотреть список процессов на терминальном сервере пользователей, смотреть строку подключения к 1с - и уже так определять, кто что запускал.

>> новый COMОбъект("WScript.Network").UserName   - поясните, пожалуйста, где выполнять скрипт? и вообще, что он делает
18 zak555
 
25.10.13
12:54
(17) где доступен, там и выполняй

COMОбъект (COMObject)
Конструкторы:

По имени приложения

Описание:

Создает COM-объект (например, Word, Excel и т.д.). Методы и свойства СОМ-объектов в дальнейшем становятся доступными через данный объект.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
19 ptiz
 
25.10.13
13:00
Я так делаю
        WshShell = Новый COMОбъект("WScript.Shell");
        
        ИмяКлиента = WshShell.ExpandEnvironmentStrings("%clientname%");
        ИмяКомпьютера = WshShell.ExpandEnvironmentStrings("%computername%");
        ИмяПользователяWindows = WshShell.ExpandEnvironmentStrings("%username%");
        
        Если ИмяКлиента <> ИмяКомпьютера Тогда
            ИмяКомпьютера = ИмяКомпьютера + ?(ИмяКлиента = "Console" ИЛИ ИмяКлиента = "%clientname%", "", "\" + ИмяКлиента);
        Иначе
            ИмяКомпьютера = ИмяКлиента;
        КонецЕсли;
20 Patient_ya
 
25.10.13
14:59
(18)
(19)
Ребята, Вы о чем? У меня нет доступа к базе! У меня есть только консоль управления кластером 1с (админ права), админ права на сервере 1с, админ права на терминальном сервере. Какой КОМ-объект? зачем?
21 zak555
 
25.10.13
15:04
аааа