Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Мак адресс клиента , Как узнать мак адрес          
l2d808 Подменю пользователя
сообщение 09.10.18, 15:27
Сообщение #1

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 248
Из: Советский Союз
Спасибо сказали: 64 раз
Рейтинг: 0

Добрый день уважаемое сообщество.
1с8.2 самописная.
Как узнать MAC адрес компьютера, с которого заходил пользователь? А также записать этот МАК в справочник.


Signature
Короеды это не жуки. Это пользователи. Они едят кору головного мозга ...

DrLivsi Подменю пользователя
сообщение 09.10.18, 15:39
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 148
Из: Киев
Спасибо сказали: 19 раз
Рейтинг: 0

l2d808 @ Сегодня, 15:27 * ,
[необходимо зарегистрироваться для просмотра ссылки]

Vladal Подменю пользователя
сообщение 11.10.18, 9:16
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 365
Из: Slovensko
Спасибо сказали: 78 раз
Рейтинг: 0

Цитата
Как узнать MAC адрес компьютера, с которого заходил пользователь?


MAC-адрес можно узнать командой getmac из командной строки Windows:
Так же не забывайте, что в системе могут быть установлены несколько сетевых карт и протоколов, а вызов свойств сетевой карты клиента надо делать локально, если подключаетесь к серверу удаленно.

|C:\Program Files\PostgreSQL\9.4.2-1.1C\bin>getmac
|
|Физический адрес  Имя транспорта
|================= ==========================================================
|10-7B-44-16-C7-79 \Device\Tcpip_{4B9F7E56-610E-460F-90A7-AE2D91F2A575}
|00-FF-16-0D-B3-13 \Device\Tcpip_{160DB313-5615-466C-8497-D972C58FA97B}
|00-FF-32-A9-18-E2 \Device\Tcpip_{32A918E2-ECF9-4C8C-8DD8-417D7B1794B9}
|00-FF-86-45-FA-82 \Device\Tcpip_{8645FA82-14B3-412B-ACD9-60885857F52A}
|
|C:\Program Files\PostgreSQL\9.4.2-1.1C\bin>


Пишем запрос к объекту Win32_NetworkAdapter:

Процедура ОпределитьMAC_адресНажатие(Элемент)
    
    ServicesSet = ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\" + ИмяКомпьютера() + "\root\cimv2");
    Items = ServicesSet.ExecQuery("Select * From Win32_NetworkAdapter");
    Для каждого Item Из Items Цикл
        MACAddress = Item.MACAddress;
        Если Не ЗначениеЗаполнено(MACAddress) Тогда // -- если убрать это условие, можно получить еще больше интересной информации
            Продолжить;
        КонецЕсли;
        AdapterType = Item.AdapterType;
        Caption  = Item.Caption; //-- переименуйте эту переменную, потому как она меняет заголовок окна обработки, это английский синоним свойства Форма.Заголовок
        Manufacturer = Item.Manufacturer;
        Status  = Item.Status;
        Name = Item.Name;
        PermanentAddress = Item.PermanentAddress;
        Line = "AdapterType: " + AdapterType
            + символы.ПС + "Caption: " + Caption
            + символы.ПС + "Manufacturer: " + Manufacturer
            + символы.ПС + "MACAddress: " + MACAddress
            + символы.ПС + "Name: " + Name
            + символы.ПС + "Status: " + Status;
        Сообщить(Line);
    КонецЦикла;
    
КонецПроцедуры


И вот вывод моей процедурки на моем сервере:

Цитата
AdapterType: Ethernet 802.3
Caption: [00000009] Realtek PCIe GBE Family Controller
Manufacturer: Realtek
MACAddress: 10:7B:44:16:C7:79
Name: Realtek PCIe GBE Family Controller #2
Status:
AdapterType: Ethernet 802.3
Caption: [00000012] TAP-Win32 Adapter V9
Manufacturer: TAP-Win32 Provider V9
MACAddress: 00:FF:16:0D:B3:13
Name: TAP-Win32 Adapter V9 #3
Status:
AdapterType: Ethernet 802.3
Caption: [00000013] TAP-Win32 Adapter V9
Manufacturer: TAP-Win32 Provider V9
MACAddress: 00:FF:32:A9:18:E2
Name: TAP-Win32 Adapter V9
Status:
AdapterType: Ethernet 802.3
Caption: [00000015] TAP-Win32 Adapter V9
Manufacturer: TAP-Win32 Provider V9
MACAddress: 00:FF:86:45:FA:82
Name: TAP-Win32 Adapter V9 #2
Status:


Развивая тему, вытащил IP-адреса для каждой сетевухи:

Цитата
MAC адрес: 10:7B:44:16:C7:79
.IP адрес: 192.168.0.7
.IP адрес: fe80::c52f:4618:2c8b:851e
MAC адрес: 00:FF:16:0D:B3:13
.IP адрес: 10.12.12.1
MAC адрес: 00:FF:32:A9:18:E2
.IP адрес: 10.10.10.1
MAC адрес: 00:FF:86:45:FA:82
.IP адрес: 10.11.11.1

Процедура ОпределитьIPНажатие(Элемент)
    
    // Определение MAC и IP адресов
    
    MACAddress = "";
    ServicesSet = ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\" + ИмяКомпьютера() + "\root\cimv2");
    Items = ServicesSet.ExecQuery("Select * From Win32_NetworkAdapter");
    Для каждого Item Из Items Цикл
        MACAddress = Item.MACAddress;
        
        Если MACAddress <> Null Тогда
            Сообщить("MAC адрес: " + MACAddress);
            
            Items = ServicesSet.ExecQuery("Select * From Win32_NetworkAdapterConfiguration");
            Для каждого Item Из Items Цикл
                Если Item.MACAddress = MACAddress Тогда
                    Если Item.MACAddress <> Null Тогда
                        Для каждого IPAddress Из Item.IPAddress Цикл
                            Сообщить(".IP адрес: " + IPAddress);
                        КонецЦикла;
                    КонецЕсли;
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры

Vladal Подменю пользователя
сообщение 16.10.18, 9:48
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 365
Из: Slovensko
Спасибо сказали: 78 раз
Рейтинг: 0

Цитата(l2d808 @ 09.10.18, 16:27) *
Как узнать MAC адрес компьютера, с которого заходил пользователь?

У Вас получилось получить адреса?

Интересно, зря ли я трудился? (себе я ответ знаю - я себе алгоритм положил в копилку)

Имеет ли смыл делать вторую часть вопроса?
Цитата(l2d808 @ 09.10.18, 16:27) *
А также записать этот МАК в справочник.


Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 14:52
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!