Вопрос или проблема
Я пытаюсь найти только имя пользователя для учетных записей, которые аутентифицированы в нашей сети 802.1X. Мы иногда сталкиваемся с устройствами, которые были неправильно настроены и не имеют идентификационных маркеров, поэтому информация об имени пользователя, который аутентифицирован в Wi-Fi сети, может быть полезной для определения владельца устройства или, по крайней мере, того, кто в последний раз касался устройства.
Поскольку это не PSK, я не могу использовать netsh wlan show profile name="SSID"
.
Аналогично, в C:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces\%GUID%\%GUID%.xml
нет данных имени пользователя.
Я могу найти MSMUserData
в HKEY_USERS\%SID%\Software\Microsoft\Wlansvc\UserData\Profiles\%GUID%
, но мне не интересно его расшифровывать и выявлять пароли.
Есть ли способ получить только имя пользователя, который подключился к нашей сети, непосредственно с устройства? Мы будем сообщать об этом удаленно, вероятно, через PowerShell.
Ответ или решение
Вопрос о том, как найти имя пользователя для устройств, удостоверяющихся в сетях 802.1X с использованием PEAP, представляет собой важную задачу для администраторов сети. Понимание того, кто подключается к некоторым устройствам, может помочь в управлении безопасностью и учёте устройств. Ниже приведены шаги, которые могут быть полезны в этом процессе.
Понимание контекста
802.1X – это протокол, который требует аутентификации перед тем, как управление доступом к сети будет предоставлено. В отличие от сетей с предразделённым ключом (PSK), процесс аутентификации с использованием PEAP не сохраняет информацию о имени пользователя в профильном файле, который можно легко извлечь с помощью команды netsh wlan show profile
. Основное внимание в этом случае сосредоточено на том, как можно получить требуемую информацию системными утилитами и инструментами.
Поиск имени пользователя через PowerShell
Хотя прямых методов для отображения имени пользователя, который подключился, нет, можно использовать PowerShell для поиска информации о подключениях и аутентификации. Вот как вы можете это сделать:
-
Использование события аутентификации: Windows регистрирует события аутентификации в журнале событий. Вы можете использовать PowerShell для фильтрации и поиска соответствующих событий.
Откройте PowerShell и выполните следующую команду:
Get-WinEvent -LogName 'Security' | Where-Object { $_.Id -eq 4624 -and $_.Message -like '*802.1X*' } | Select-Object TimeCreated, @{Name='UserName';Expression={$_.Properties[5].Value}}
Эта команда получает события входа с ID 4624 (успешная аутентификация) и фильтрует их по наличию информации о 802.1X. Вывод будет отображать дату и время подключения, а также имя пользователя.
-
Поиск в системных журналах: Если в ваши услуги Windows включено ведение аудитных журналов, можно получить доступ к ним и выявить подключенные устройства и аутентифицированных пользователей.
Get-WinEvent -LogName 'Security' | Where-Object { $_.Id -eq 4648 -and $_.Message -like '*User*' }
Это будет искать события, когда пользователи пытались аутентифицироваться.
-
Фильтрация результатов: После получения результатов их можно дополнительно обрабатывать, чтобы сфокусироваться на конкретных пользователях и временных диапазонах.
Заключение
На данный момент, получение имени пользователя, который подключился к сети 802.1X на устройстве с Windows, требует работы с журналами событий системы, поскольку нет простого способа получения этой информации непосредственно из профиля Wi-Fi или других настроек. Используя PowerShell для фильтрации соответствующих событий, вы сможете получить необходимые данные для анализа и отчётности.
В случае, если у вас возникнут дополнительные вопросы по этому процессу или нужна помощь с созданием скриптов, всегда можно обратиться за поддержкой к IT-специалистам вашей организации или сообществу за советами.