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

Запрос AD, чтобы узнать, на какие ПК пользователь недавно входил

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

С уважением, Майк

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

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

В PsLoggedOn скрипт сообщит вам, на каких машинах в настоящее время находятся пользователи, если это вам нужно.

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

С уважением

Не знаю, как сделать это напрямую с помощью AD, но если у вас есть какая-либо система машинного аудита, это должно быть довольно просто.

Мы используем SCCM (также известный как SMS) для развертывания программного обеспечения, а также для различного аудита и используем этот сценарий для быстрого просмотра того, где люди вошли в систему. Полная служба инвентаризации активов дает вам гораздо больше информации, чем эта, но это быстро и легко. Это не на 100% надежно (особенно если пользователь вошел в систему на нескольких машинах за короткий промежуток времени), но мы используем этот сценарий, который должен делать то, что вы хотите:

'Central Site Server
strComputer = "***"
'Central Site Code
strSiteCode = "***"

'Get userID
strUserName = InputBox ("Enter User Name")

'Set up the connection String
Set objWMIService = GetObject("winmgmts://" & strComputer & "\root\sms\site_" & strSiteCode)
'Get info
Set colUser = objWMIService.ExecQuery("select SMS_G_System_COMPUTER_SYSTEM.Name, SMS_R_System.LastLogonUserName from  SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_R_System.LastLogonUserName like '" & strUserName & "%'")
For Each objUser in colUser

LastUserName = ObjUser.SMS_R_System.LastLogonUserName
MachineName = ObjUser.SMS_G_System_COMPUTER_SYSTEM.Name

Next 

'Display info
MsgBox ("Last machine that "& LastUserName &" logged onto was "& vbcrlf & MachineName)