Назад | Перейти на главную страницу

Определите, на какие рабочие станции пользователь входил ранее

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

Есть ли сценарий, который может сканировать DC для получения этой информации?

В качестве альтернативы, любой ПК, на который вошел пользователь, должен иметь на нем профиль пользователя. Есть ли способ сканировать папки профиля пользователя? Хотя я полагаю, что это не было бы идеально, так как соглашение об именах не всегда одинаковое.

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

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

Узнайте, на какие рабочие станции / серверы зарегистрирован пользователь

Тип информации, которую вы ищете, не сохраняется в каталоге. Единственный известный мне способ сделать это без настройки инструмента - это выполнить поиск в журналах безопасности на всех ваших контроллерах домена. Вы ищете событие с идентификатором 4624. После того, как вы отфильтруете свой журнал для этого, даже запустите поиск для идентификатора безопасности, который вы спрашиваете. Для моего домена журналы имеют вид netbios \ samAccountName. Тип входа 2 означает интерактивный вход (физически с помощью клавиатуры / мыши), тип входа 3 означает «олицетворение» (например, rdp). Под сетевой информацией вы должны указать имя и IP-адрес рабочей станции.

Вот дополнительная информация о событии с кодом 4624: https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventID=4624

Поиск профилей на машинах

Во-первых, я настоятельно рекомендую нацеливаться на очень конкретные машины, если вы идете по этому пути. Это будет очень трудоемкий процесс, и для его работы необходимо выполнение нескольких условий. А именно, вы должны быть администратором целевой системы и должны быть включены административные общие ресурсы (например, \ computername \ c $).

Вы можете попробовать следующее в PowerShell. Обратите внимание, что вам понадобится список компьютеров (FQDN для каждого), samAccountName соответствующего пользователя и netbios соответствующего домена. Это быстрый пример для компьютеров под управлением Windows 7+. Добавить дополнительные пути просто. Сценарий распечатает все компьютеры, на которых был найден путь к профилю.

foreach($computer in $computers){
    $tempPath1 = "\\" + $computer + "\c$\Users\" + $samAccountName + "\"
    $tempPath2 = "\\" + $computer + "\c$\Users\" + $samAccountName + "." + $domainNetBios + "\"
    if((Test-Path $tempPath1) -or (Test-Path $tempPath2)){
        Write-Output $computer
    }
}

Дополнительный кредит: проверьте ACL найденных путей и посмотрите, включен ли пользователь.

РЕДАКТИРОВАТЬ: Вот еще один метод для текущих сеансов https://blogs.technet.microsoft.com/heyscriptingguy/2011/06/04/use-powershell-to-find-logon-sessions/

Вам нужен список компьютеров и серверов в CSV. Теперь предположим, что имя человека - skyra, которого вы ищете.

Get-Content C:\computers.csv | `

Select-Object @{Name='ComputerName';Expression={$_}},@{Name='FolderExist';Expression={ Test-Path "\\$_\c$\users\skyra"}}

Взаимодействие с другими людьми

you will see output like this

Computername  folderexists

skyra-pc          true

Hppc                false