
Получение и отображение информации об активных сеансах пользователей на удаленных компьютерах. Не требуются права администратора.
Получает и отображает информацию об активных пользовательских сессиях на удаленных компьютерах. Административные привилегии не требуются.
Инструмент использует службу удаленного реестра для запроса куста реестра HKEY_USERS на удаленных компьютерах. Он находит и извлекает идентификаторы безопасности (SID), связанные с активными пользовательскими сессиями, и преобразует их в соответствующие имена пользователей, предоставляя сведения о том, кто в данный момент вошел в систему.
Если указан параметр -CheckAdminAccess, он соберет сессии путем аутентификации на целевых компьютерах, где у вас есть локальный административный доступ, с помощью Invoke-WMIRemoting (что, скорее всего, даст больше результатов).
Важно отметить, что для эффективной работы инструмента служба удаленного реестра должна быть запущена на удаленном компьютере. В моих тестах, если служба остановлена, но ее тип запуска установлен на "Автоматически" или "Вручную", служба запустится автоматически на целевом компьютере при запросе (это стандартное поведение), и информация о сессиях будет получена. Если установлено "Отключена", получить информацию о сессиях с целевого компьютера невозможно.
Загрузить Invoke-SessionHunter в память
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/Leo4j/Invoke-SessionHunter/main/Invoke-SessionHunter.ps1')
Если запустить без параметров, он получит активные сессии для всех компьютеров в текущем домене, запрашивая их удаленный реестр
Invoke-SessionHunter
Собрать сессии путем аутентификации на целевых компьютерах, где у вас есть локальный административный доступ (на целевых компьютерах выполняется команда 'klist sessions')
Invoke-SessionHunter -CheckAsAdmin
Вы можете дополнительно указать учетные данные в следующем формате
Invoke-SessionHunter -CheckAsAdmin -UserName "ferrari\Administrator" -Password "P@ssw0rd!"
Invoke-SessionHunter спроектирован так, чтобы не включать вашу хост-машину, вашего текущего пользователя и указанное имя пользователя в область поиска.
В результате они не будут отображаться среди полученных сессий.
Если вы хотите включить их в полученные результаты, используйте параметры -ShowAll и/или -IncludeLocalHost.
Invoke-SessionHunter -ShowAll -IncludeLocalHost
Invoke-SessionHunter пропустит любую цель, где удаленный реестр не отвечает в течение 2000 мс (2 секунд).
Вы можете управлять таймаутом с помощью параметра -Timeout | По умолчанию = 2000, увеличьте для медленных сетей.
Invoke-SessionHunter -Timeout 5000
Используйте параметр -Match, чтобы показывать только цели, где у вас есть административный доступ и выполнен вход привилегированного пользователя
Invoke-SessionHunter -Match
Все параметры можно комбинировать
Invoke-SessionHunter -CheckAsAdmin -UserName "ferrari\Administrator" -Password "P@ssw0rd!" -Timeout 5000 -Match

Invoke-SessionHunter -Domain contoso.local
Invoke-SessionHunter -Targets "DC01,Workstation01.contoso.local"
Invoke-SessionHunter -Targets c:\Users\Public\Documents\targets.txt
Invoke-SessionHunter -Servers
Invoke-SessionHunter -Workstations
Invoke-SessionHunter -Hunt "Administrator"
Invoke-SessionHunter -RawResults
Примечание: если хост недоступен, это может привести к зависанию на некоторое время
Invoke-SessionHunter -NoPortScan