Идентификатор локальной сети, что это такое

Обновлено: 21.11.2024

Я хочу создать полузащищенный рабочий лист, который будет считывать идентификатор локальной сети пользователей, чтобы проверить, кто они. Есть ли способ в VBA получить идентификатор локальной сети? Или есть способ прочитать, какой будет папка «Мои документы» по умолчанию, поскольку она будет содержать идентификатор локальной сети в нашей системе. Я написал фрагмент кода, который считывает каталог по умолчанию из Excel и извлекает из него идентификатор локальной сети, но если бы кто-то переименовал свой каталог по умолчанию, это не сработало бы. Поэтому я хотел прочитать его из самой Windows.

Вот пример того, как я получил его из Excel:

путь будет выглядеть так:
"C:\Documents and Settings\LAN ID\My Documents"

код для извлечения идентификатора локальной сети выглядит следующим образом:
lan_ID=replace(replace(application.DefaultFilePath,"C:\Documents and Settings\","")","\My Documents","" )

Факты об Excel

ЛТунниклифф

Известный участник

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

Надеюсь, это поможет!

Том Уртис

MrExcel MVP

В качестве альтернативы можно идентифицировать компьютер по чему-то, что труднее изменить. Код Лорена помогает определить имя компьютера, но оно назначается при загрузке Windows или Excel и может быть изменено. Что сложнее изменить и, на мой взгляд, надежнее проверить, так это часть самого оборудования, например серийный номер жесткого диска.

Эта функция вернет серийный номер жесткого диска C компьютера. Вы можете проверить номер в Workbook_Open и запретить доступ (например, это возможно с ограниченными мерами безопасности Excel).

Объявить функцию GetVolumeInformationA Lib "kernel32" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByValSystem lpFileSystemNameBuffer As String, ByVal nFile
Sub HDSerialNumber()
Dim SerialNumber As Long
GetVolumeInformationA "C:\", vbNullString, 0, SerialNumber, 0, 0, vbNullString, 0
Серийный номер MsgBox
Конец подписки

крутится на ветру

Обычная доска

это близко, он извлекает имя машины, но не идентификатор локальной сети. Только что проверил это, я вошел в систему, записал код, друг вошел в систему на моей машине под своим идентификатором локальной сети, но он вернул тот же код. Зашел на свою машину, дал другой код. Так что, похоже, это просто имя компьютера, а не идентификатор пользователя.

Спасибо за предложение, я уверен, что оно на правильном пути.

Том Уртис

MrExcel MVP

крутится на ветру

Обычная доска

Том,
Вы написали, когда я отвечал на сообщение LTunnicliffe. Но ваш тоже не делает того, что мне нужно, мне нужно аутентифицировать человека, а не машину. Поэтому, если человек должен был войти в систему с другого компьютера, мне нужно выяснить, кто это.

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

ОдинсДрим

Известный участник

Вы можете получить текущее имя пользователя NT следующим образом:

CurrentUserName = Environ("Имя пользователя")

крутится на ветру

Обычная доска

Большое спасибо.

Что еще может сделать environ()? Похоже, у него может быть другое применение!

Иван Ф. Моала

MrExcel MVP

Большое спасибо.

Что еще может сделать environ()? Похоже, у него может быть другое применение!

Халук

Нарушение правил

Функция Environ("Имя пользователя"), вероятно, решила вашу проблему.

На всякий случай, если вы используете ОС на базе NT, вы также можете извлечь полное имя из указанной выше функции.

Для этого просто скопируйте приведенные ниже строки, вставьте их в новый модуль кода и запустите процедуру с именем GetFullName

Частный тип USER_INFO_2
usri2_name As Long
usri2_password As Long
usri2_password_age As Long
usri2_priv As Long
usri2_home_dir As Long
usri2_comment As Long
usri2_home_dir As Long
usri2_comment As Long
usri2_flags As Long
usri2_script_path As Long
usri2_auth_flags As Long
usri2_full_name As Long
usri2_usr_comment As Long
usri2_parms As Long
usri2_workstations As Long
usri2_last_logon As Long
usri2_last_logoff As Long
usri2_acct_expires As Long
usri2_max_storage As Long
usri2_units_per_week As Long
usri2_logon_hours As Long
usri2_bad_pw_count As Long
usri2_num_logons As Long
usri2_logon_server As Long
usri2_country_code As Long
usri2_code_page As Long
Конечный тип

Частная функция объявления apiNetGetDCName _
Lib "netapi32.dll" Псевдоним "NetGetDCName" _
(ByVal servername As Long, _
ByVal DomainName As Long, _
bufptr As Длинный) До тех пор, пока

Частная функция объявления apiNetAPIBufferFree _
Lib "netapi32.dll" Псевдоним "NetApiBufferFree" _
(ByVal buffer As Long) _
As Long

Частная функция объявления apilstrlenW _
Lib "kernel32" Псевдоним "lstrlenW" _
(ByVal lpString As Long) _
As Long

Частная функция объявления apiNetUserGetInfo _
Lib "netapi32.dll" Псевдоним "NetUserGetInfo" _
(имя сервера как любое, _
имя пользователя как любое, _
уровень ByVal как длинное , _
bufptr As Long) As Long

Private Declare Sub sapiCopyMem _
Lib "kernel32" Псевдоним "RtlMoveMemory" _
(Назначение как любое, _
Источник как любой, _
ByVal Length As Long)< /p>

Private Declare Function apiGetUserName Lib _
"advapi32.dll" Псевдоним "GetUserNameA" _
(ByVal lpBuffer As String, _
nSize As Long) _
As Long< /p>

Частная константа MAXCOMMENTSZ = 256
Частная константа NERR_SUCCESS = 0
Частная константа ERROR_MORE_DATA = 234&
Частная константа MAX_CHUNK = 25
Частная константа ERROR_SUCCESS = 0&

Закрытая функция fGetUserName() в виде строки
Dim lngLen As Long, lngRet As Long
Dim strUserName в виде строки
strUserName = String$(254, 0)
lngLen = 255
lngRet = apiGetUserName(strUserName, lngLen)
If lngRet Then
fGetUserName = Left$(strUserName, lngLen - 1)
End If
End Function

Функция fGetDCName() как строка
Dim pTmp As Long
Dim lngRet As Long
Dim abytBuf() As Byte
lngRet = apiNetGetDCName(0, 0, pTmp) < br />If lngRet = NERR_SUCCESS Then
fGetDCName = fStrFromPtrW(pTmp)
End If
Call apiNetAPIBufferFree(pTmp)
End Function

Частная функция fStrFromPtrW(pBuf As Long) As String
Dim lngLen As Long
Dim abytBuf() As Byte
lngLen = apilstrlenW(pBuf) * 2
If lngLen Then
ReDim abytBuf(lngLen)
Вызов sapiCopyMem(abytBuf(0), ByVal pBuf, lngLen)
fStrFromPtrW = abytBuf
End If
End Function

Sub GetFullName()
Dim strUserName As String
strUserName = Environ("Username")
MsgBox fGetFullNameOfLoggedUser(strUserName)
End Sub

Мне нужно знать идентификатор локальной сети моего компьютера. Я думаю, что есть
команда DOS, которую я могу использовать, чтобы найти это, но я не могу вспомнить, что это
это такое!

Реклама

Херб Мартин

Мне нужно знать идентификатор локальной сети моего компьютера. Я думаю, что есть
команда DOS, которую я могу использовать, чтобы найти это, но я не могу вспомнить, что это
это такое!

Что вы подразумеваете под идентификатором LAN?

Скорее всего, "IPConfig /all" будет делать то, что вам нужно, но термин, который вы
использовали, не является общепринятым.

ЕСЛИ вы используете TCP/IP, что делает большинство людей в наши дни, тогда IPConfig /ALL
покажет как ваш IP-адрес, так и ваш MAC-адрес (аппаратный сетевой адаптер).

NetSh.exe гораздо сложнее в использовании, но он также может предоставить вам эту
информацию.

Задать вопрос

Хотите ответить в этой теме или задать свой вопрос?

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

Похожие темы

< td style="font-weight:600; padding: 5px 10px">Windows 7 Настройка пробуждения по локальной сети

PC Review – это веб-сайт, посвященный обзорам компьютерной техники, с полезными форумами технической поддержки, на которых работают специалисты по ПК. Если у вас возникли проблемы с компьютером, обратитесь за советом на наш форум.

Статус Эта тема была заблокирована и не открыта для дальнейших ответов. Первоначальный инициатор темы может использовать кнопку «Отчет», чтобы запросить ее повторное открытие, но любой другой пользователь с похожей проблемой должен создать новую тему. Посмотрите наше приветственное руководство, чтобы узнать, как пользоваться этим сайтом.

Куртус

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

Проблема в том, что я понятия не имею, что такое LAN ID. Они объясняют, что это набор цифр, который обычно появляется при установке первого компакт-диска?

Ну, это мало что мне объяснило. Я искал в Интернете и до сих пор не нашел, что это за номера LAN ID.

Есть идеи?? . пожалуйста, помогите

Спасибо всем
Куртус

ДжонУилл

Ушедший модератор

Единственное, что приходит на ум, — это MAC-адрес сетевого адаптера. Это единственное, что подойдет для генерации лицензионного ключа. Было бы очень полезно, если бы вы указали более подробную информацию и что именно они говорят об «идентификаторе локальной сети». Я предполагаю, что где-то они на самом деле скажут вам, что это такое, возможно, MAC-адрес.

бассетман

Модератор (умер) — ушел, но не забыт

Выдает ли он вам уникальный идентификатор после установки программного обеспечения? Это похоже на то, как M$ получает уникальный идентификатор после установки Windoze.

Куртус

Вы были правы. Я снова связался с Центром поддержки программного обеспечения. и они сказали, что номер LAN ID появится, как только я перейду к установке программного обеспечения.

В это время я должен позвонить им с номером идентификатора локальной сети, который программа выдает во время установки. Затем они предоставят мне код ключа.

Желаю, чтобы компании не посылали туда Центры технической поддержки за границей. Может быть, будет немного легче общаться с большей ясностью.

Спасибо за все
Куртус

Статус Эта тема была заблокирована и не открыта для дальнейших ответов. Первоначальный инициатор темы может использовать кнопку «Отчет», чтобы запросить ее повторное открытие, но любой другой пользователь с похожей проблемой должен создать новую тему. Посмотрите наше приветственное руководство, чтобы узнать, как пользоваться этим сайтом.

Многие функции нашего нового веб-сайта не будут работать, а основной макет будет нарушен.

  • Информационные технологии
    • О нас
    • Аккаунты и службы
    • Часто задаваемые вопросы о списках рассылки CPP для учебных заведений
    • Компьютерная система управления учетными записями
    • Директивы компьютерной лаборатории
    • Подключение к Интернету
    • Связаться с нами
    • Директива о нарушении авторских прав
    • Списки рассылки
    • Электронная почта
    • Закрытие аккаунта сотрудника
    • Часто задаваемые вопросы о паролях
    • Система управления GoPrint
    • Справочная служба
    • Удостоверения личности
    • Директивы по ИТ
    • ИТ-обучение и документация
    • Информация о паролях
    • Директива об общем использовании информационных технологий
    • Информация об учетной записи локальной сети
    • Часто задаваемые вопросы и определения Listserv
    • Поддержка компьютеров
    • Директива ResNet о допустимом использовании
    • Конкурс предложений STF
    • Жилая сеть
    • Формы запросов на обслуживание
    • Программное обеспечение
    • Студенческие компьютерные лаборатории
    • Руководство, рекомендации и протокол по технологическим ресурсам
    • Обучение и поддержка пользователей (UTS)

    Все студенты, преподаватели и сотрудники UNO имеют доступ к различным многопользовательским компьютерным системам в кампусе. Студенческие учетные записи автоматически создаются или активируются при регистрации. Точно так же учетные записи для преподавателей и сотрудников создаются автоматически, когда ИТ-отдел получает соответствующую информацию от отдела кадров.

    Студенты

    Всем учащимся, которые регистрируются и вовремя оплачивают взносы, автоматически назначаются учетные записи для:

    • Электронная почта
    • Локальная сеть (LAN)
    • Мудл
    • ВебСТАР
    • Частники UNO (SharePoint)
    • myapps.uno.edu

    Узнайте имя пользователя и пароль своей локальной сети

    Преподаватель/персонал

    Преподаватели и сотрудники UNO получают следующий набор учетных записей по умолчанию:

    • Электронная почта
    • Локальная сеть (LAN)
    • Мудл
    • Интранет UNO (SharePoint)
    • ВебСТАР
    • myapps.uno.edu
    • remote.uno.edu

    Лицам, работающим по контракту с определенным отделом или подразделением и иным образом не связанным с UNO, автоматически не выдаются компьютерные учетные записи, поскольку их информация о занятости не вводится отделом кадров. Все соответствующие учетные записи должны быть явно запрошены руководителем.

    Примеры имени пользователя

    Ваше имя пользователя будет состоять максимум из восьми символов и будет состоять из первого символа вашего имени, за которым может следовать ваш средний инициал, за которым следует ваша фамилия и, в некоторых случаях, числовой суффикс, чтобы различать похожие имена. Все имена пользователей могут содержать не более восьми символов.

    Контактные лица отдела для запросов безопасности PeopleSoft

    Сотрудники, которым требуется безопасность систем UNO Financials, HR/Payroll или WebSTAR, должны попросить своего руководителя связаться с лицом, ответственным за обеспечение безопасности в области, в которой требуется доступ, и следовать процедуре этого отдела для получения доступа к своим данным. Чтобы запросить защиту PeopleSoft, обратитесь к соответствующему лицу из следующего списка:

    Читайте также:

Скопировать Outlook.pst через локальную сеть 10 2 ноября 2004 г.
3 23 апреля 2018 г.
1394 и LAN 2 17 декабря 2008 г.
Windows 10 Windows 10 не может найти сканер (часть многофункционального принтера) 6 30 апреля 2021 г.
FS605 Мигающий светодиод Netgear? Нет подключения к ПК по локальной сети. 6 27 июня 2012 г.
Копировать на портативный жесткий диск только неизмененные/новые файлы 6 26 марта 2008 г.
ПК не может получить доступ ко всем фотографиям — Galaxy A10 3 июнь 16, 2020
Windows XP теряет связь через локальную сеть 2 14 августа 2013 г.