Перегляд активності користувачів за допомогою PsLoggedOn у Windows: практичний посібник

Останнє оновлення: 19/09/2025
Автор: Ісаак
  • PsLoggedOn поєднує реєстр (HKEY_USERS) та NetSessionEnum для відображення локальних та ресурсних сеансів.
  • Підключення IPC$ до облікових записів комп'ютерів зазвичай легітимні; перевіряйте 4624 та переглядайте сеанси SMB.
  • Посилено за допомогою quser, Get-CimInstance, переглядача подій, PsLogList, PsFile та модулів. PowerShell.
  • Застосувати безпеку: MFA, найменші привілеї, VPN та моніторинг спроб запуску.

Перегляд активності користувачів за допомогою PsLoggedOn

У середовищах WindowsКонтроль учасників ваших команд є життєво важливим для запобігання інцидентам та аудиту доступу. PsLoggedOn з пакету Sysinternals є ключовим елементом. переглядати локальні сеанси та з’єднання через спільні ресурси, як на вашому комп’ютері, так і на віддалених комп’ютерах.

Окрім PsLoggedOn, є ще Команди нативні та утиліти, що допомагають перевіряти інформацію, активувати аудити та виявляти підозрілі входи. У цьому посібнику ми розглянемо, як працює PsLoggedOn, його синтаксис, реальні випадки (такі як сеанси IPC$ з обліковими записами комп'ютерів), альтернативні методи та найкращі практики. для посилення безпеки віддаленого доступу.

Що таке PsLoggedOn і як він виявляє користувачів онлайн?

PsLoggedOn — це аплет PsTools, який показує, хто ввійшов у систему локально, а хто підключений через ресурси на локальному або віддаленому комп’ютері. Його логіка поєднує два джерела: реєстр для локальних сеансів та API NetSessionEnum для сеансів із спільним використанням ресурсів..

Для локальних сеансів PsLoggedOn вважає, що користувач, що увійшов у систему, — це той, чий профіль завантажено до реєстру (див. Анатомія реєстру Windows). Перевірте HKEY_USERS на наявність SID користувачів і перетворює кожен SID на ім'я його облікового запису для зручного для людини відображення.

Для віддалених сеансів через ресурси (наприклад, IPC$, C$ або ADMIN$) викличте API NetSessionEnum та перелічіть активні з'єднання. Це пояснює, чому під час запиту до віддаленого комп'ютера ви самі можете з'явитися підключено через спільний ресурс: встановлюється сеанс для доступу до реєстру віддаленої системи.

Крім того, PsLoggedOn приймає ім'я користувача як аргумент. У такому випадку, Сканує комп'ютери в мережевому оточенні та повідомляє, чи користувач зазначений як підключений у будь-якому з них. Це дуже корисно перед тим, як торкатися профілів користувачів чи політик.

Як працює PsLoggedOn

Встановлення, версії та вимоги

Встановлення просте: просто скопіюйте PsLoggedOn до шляху у вашому PATH та запустіть його. Помістіть файл psloggedon.exe (та psloggedon64.exe, якщо потрібно) у системну папку або використовуйте його з папки PsTools..

PsLoggedOn є частиною PsTools, пакета Sysinternals, який також включає такі утиліти, як PsInfo, PsFile, PsLogList, Process Explorer та Process Monitor. Ви можете завантажити PsTools (приблизно 2,7 МБ) з офіційного сайту Sysinternals. і, якщо бажаєте, встановіть повний пакет за допомогою Winget, використовуючи команду «winget install sysinternals –accept-package-agreements».

Сумісність: PsLoggedOn працює на Windows Vista та новіших версій на клієнті, а також Windows Server 2008 та новіших версій на серверіВерсія, задокументована джерелами, — PsLoggedOn v1.35, востаннє оновлена ​​у 2016 році, що не заважає їй продовжувати бути корисною для завдань підтримки та аудиту.

  Як вимкнути спеціальні клавіші FN у Windows 11 (повний посібник)

Використання та синтаксис PsLoggedOn

Базовий виклик підтримує дуже короткий набір перемикачів. Це простий, швидкий та прямий інструмент:

psloggedon    

Основні параметри: -l показує лише локальні сесії, -x приховує час входу в систему а "-" виводить довідку з опціями та одиницями вимірювання. Ви можете передати віддалений комп'ютер з його UNC-ім'ям (\\computer) або ім'ям користувача, щоб знайти його в мережі.

Типові приклади в консолі або PowerShell: перегляд локальних сеансів та ресурсів на вашому ПК, перегляд віддаленого сеансу або пошук певного користувача.

psloggedon
psloggedon \\EQUIPO-REMOTO
psloggedon usuario.dominio

Майте на увазі, що коли ви звертаєтесь до віддаленої команди, Ваш обліковий запис може бути вказаний як підключений через спільний ресурс. через доступ, необхідний для читання його реєстру. Якщо ваша мета — ізолювати лише локальні сеанси, використовуйте параметр -l.

Інтерпретація результатів: з'єднання IPC$ та облікові записи комп'ютерів зі знаком $

Поширеним випадком є ​​отримання сповіщень із сеансів, встановлених обліковими записами комп’ютерів (що закінчуються на «$») на ресурсі IPC$. Це часто викликає занепокоєння, але часто це пов'язано з легітимною активністю в самому середовищі Windows. та служби, що взаємодіють через іменовані канали.

IPC$ — це спеціальний ресурс, створений службою Server. Він дозволяє відкривати іменовані канали, які використовують системні компоненти та встановлені програми/служби. Використовуючи це з’єднання, навіть анонімні користувачі можуть виконувати певні обмежені операції, такі як перегляд спільних ресурсів., залежно від конфігурації. Тому перегляд сесій в IPC$ сам по собі не означає щось шкідливе.

На комп'ютері з Windows 10 Pro існування ресурсу IPC$ є цілком нормальним явищем. Серверна служба надає доступ до IPC$ для полегшення іменованих каналів та інших системних операцій.Якщо PsLoggedOn показує записи на кшталт "DOMAIN\COMPUTER-A$" у розділі "Користувачі, підключені через спільні ресурси", це зазвичай означає, що цей комп'ютер відкрив сеанс SMB з вашим (наприклад, через віддалене адміністрування).

Як дослідити джерело? Ці перевірки допомагають відрізнити легітимне від підозрілого, використовуючи вбудовані інструменти та те, що пропонує PsLoggedOn. Мета полягає у відображенні зв'язку з процесами, завданнями або компонентами системи:

  • Перевірте сеанси SMBНа комп’ютері, що зазнає невдачі, відкрийте розділ «Керування комп’ютером» > «Спільні папки» > «Сеанси» та «Відкрити файли», щоб побачити, хто перебуває в мережі та що вони використовують.
  • команда мережевого сеансуЗапустіть команду «net session», щоб переглянути список поточних з’єднань за спільним ресурсом, хостом та користувачем.
  • Переглядач подійЗнайдіть подію 4624 (успішний вхід) у розділі «Журнали Windows > Безпека» та перегляньте тип входу (наприклад, тип 3 для мережі). Подія містить детальну інформацію про обліковий запис, робочу станцію та адресу.
  • Політика аудитуУвімкніть аудит входу в систему в «gpedit.msc» > «Конфігурація комп’ютера» > «Налаштування Windows» > «Налаштування безпеки» > «Локальні політики» > «Політика аудиту» > «Аудит подій входу», перевіряючи Успіх та Помилка.
  • Завдання та послугиПеревірте планувальник завдань, служби віддаленого керування, інструменти інвентаризації та антивірус/EDR, які можуть відкривати сеанси для запитів або розгортань.
  Як видалити попередження про цілісність оригінального програмного забезпечення Adobe на Mac і Windows

Якщо схема стабільна (ті самі машини з позначкою «$» завжди підключені протягом робочого часу) і відповідає адміністрації або нагляду, це, ймовірно, нормально. Якщо ви виявите незвичайні з’єднання поза робочим часом або з нерозпізнаних пристроїв, варто пошукати глибше. із записами та обмеженням доступу.

Сесії в IPC$ та облікових записах команд

Альтернативні методи перегляду тих, хто ввійшов у систему

Доповнення PsLoggedOn власними інструментами дає вам повніше уявлення. Поєднання кількох джерел зменшує хибнопозитивні результати та надає вам контекст щодо сесії.

Консоль/PowerShell (quser/query user). Виконайте команду "quser /server:RemoteComputer" або "query user /server:RemoteComputer", щоб переглянути сеанси віддаленого робочого стола/терміналу. Це швидко та корисно на серверах з RDS а також працює для пристроїв, що підтримують RDP.

quser /server:Equipo1
query user /server:Equipo2

PowerShell (Get-CimInstance). Простий підхід до перевірки локального інтерактивного сеансу: «Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Computer | Select -ExpandProperty ім'я користувача»Зверніть увагу, що якщо хтось підключається через RDP у певних конфігураціях, це може не повернути значення.

Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName EQUIPO | Select -ExpandProperty username

Sysinternals PsLoggedOn з вашої консолі. Якщо у вас є пакет, просто викличте "PsLoggedOn \\RemoteComputer", і ви отримаєте як локальні сеанси, так і підключення через ресурси. Це найпряміший спосіб перетину сеансів спільного доступу до реєстру та SMB..

PsLoggedOn \\EQUIPO-REMOTO

NBTSTAT. «nbtstat -a Host» або «nbtstat -A IPAddress» показує таблицю імен NetBIOS. Це застарілий метод, який може пропонувати підказки, але не є надійним для активних користувачів. якщо вони не мали доступу до спільних ресурсів.

nbtstat -a EQUIPO
nbtstat -A 192.0.2.25

Переглядач подій. Перейдіть до розділу «Журнали Windows > Безпека» та відфільтруйте за ID 4624 (успішні запуски). У деталях події наведено ім'я користувача, домен та робочу станціюПотрібні права адміністратора та ввімкнений аудит.

Диспетчер завданьУ вкладці «Користувачі» можна побачити активні сеанси на локальній машині, включаючи віддалені. Це не завжди чітко розрізняє тип доступу, але допомагає для швидкої перевірки..

Диспетчер служб віддалених робочих столів (Windows Server). З консолі MMC додайте оснащення RDS, щоб переглянути вкладки «Користувачі» та «Сеанси» з детальною інформацією (ідентифікатор сеансу, стан тощо). Це довідкова консоль на хостах RDSH..

Скрипти та пов'язані утиліти для аудиту

Коли вам потрібна звітність у великому масштабі (організаційна одиниця, домен або інвентаризація обладнання), використання скриптів значно пришвидшує роботу. Для цього існують модулі PowerShell та інструменти Sysinternals..

PowerShell Get-UserLogon. Ви можете завантажити модуль із функціями для збору даних для входу за комп’ютером, організаційним підрозділом або доменом. Збережіть його як psm1 у 'C:\Program Files\WindowsPowerShell\Modules\Get-UserLogon'., імпортуйте його та використовуйте з дуже простими перемикачами.

# Todo el dominio
Get-UserLogon -All

# Por OU
Get-UserLogon -OU 'ou=Computers,dc=midominio,dc=local'

# Un equipo concreto
Get-UserLogon -Computer EQUIPO-AD01

PsLogList (Sysinternals). Якщо ви хочете співвіднести події безпеки, psloglist виводить локальні або віддалені журнали подій, навіть якщо ви автентифікуєтесь за допомогою інших облікових даних. Це вдосконалений клон elogdump, який може витягувати повідомлення з вихідної машини журналу.

# Últimas 100 entradas del registro de Seguridad en un equipo remoto
psloglist \\EQUIPO -n 100 -l security

# Filtrar por origen o ID de evento
psloglist -o "Microsoft-Windows-Security-Auditing" -i 4624

# CSV-friendly (una entrada por línea)
psloglist -s -t ';' -l security

Його параметри дозволяють обмежувати дати (-a, -b), часові вікна (-h, -m, -d), кількість записів (-n), ідентифікатори для включення або виключення (-i, -e), походження (-o, -q) та доки не буде очікування нових подій реального часу з опцією -w на локальній системі. Версія, на яку посилаються джерела, — v2.81 (оновлена ​​у 2019 році).

  Приклад: як я можу поділитися своїм обліковим записом Spotify з друзями та родиною?

PsFile (Sysinternals). Корисно для визначення того, які файли на віддаленому комп’ютері відкриті мережевими користувачами, їхній тип доступу та навіть закрийте їх, вказавши ідентифікатор якщо вам потрібно їх звільнити. Це вимагає вказування облікових даних, якщо у вас немає достатніх дозволів.

Інші утиліти в пакеті, що доповнюють діагностику: PsInfo для інвентаризації, Process Explorer та Process Monitor для перевірки процесів і DLL, LogonSessions для відображення активних сеансів і RAMMap для сканування пам'яті. Екосистема Sysinternals охоплює все: від виявлення сеансів до глибокого системного аналізу..

Посилює безпеку віддаленого доступу

Моніторинг того, хто підходить, – це добре; зменшення поверхні атаки – ще краще. Ці заходи підвищують планку та уникають паніки:

  • Надійні паролі та періодичні ротації для всіх облікових записів з віддаленим доступом.
  • Багатофакторна автентифікація (MFA) щоб відрізати несанкціонований доступ навіть за наявності викрадених облікових даних.
  • Принцип найменших привілеївТільки необхідні дозволи, уникаючи широкого членства.
  • VPN для інкапсуляції та шифрування віддаленого трафіку в загальнодоступних або змішаних мережах.
  • Нагляд за стартапами із сповіщеннями про аномальну активність (несподіване походження, дивні часи).

За допомогою PsLoggedOn ви можете переглядати локальні сесії та з’єднання за ресурсами з першого погляду, а також використовувати такі команди, як quser, NBTSTAT та засіб перегляду подій, щоб завершити уявлення. Якщо ви правильно інтерпретуєте записи IPC$ та маєте "$", ви вмикаєте аудит та покладаєтеся на модулі PsLogList, PsFile та PowerShell., ви матимете контроль над тим, хто підключається, звідки та чому, а також міцну основу для реагування на будь-яку підозрілу активність.

частини regedit
Пов'язана стаття:
Реєстр Windows: анатомія, розділи, кущі, значення тощо