Есть ли способ запустить запрос в 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)