Я надеюсь, что где-то в Active Directory записан / сохранен «последний вход в систему с [компьютера]», или есть журнал, который я могу разобрать?
Цель узнать, с какого последнего компьютера вошел в систему, - предложить удаленную поддержку по сети - наши пользователи перемещаются довольно редко, но я хотел бы знать, что все, что я консультировал, обновлялось этим утром (когда они входили в систему). (предположительно) как минимум.
Я также рассматриваю сценарии входа, которые записывают имена пользователей и компьютеров в известное место, на которое я могу ссылаться, но некоторые из наших пользователей не любят выходить из системы по 15 дней за раз.
Если есть элегантное решение, использующее сценарии входа, обязательно упомяните об этом, но если это сработает просто для разблокировки станции, это было бы еще лучше!
Мы делаем это через скрипт входа в систему, который обновляет описание объекта компьютера в AD.
Необходимо выполнить пользовательское делегирование управления, чтобы позволить «Аутентифицированным пользователям» записать свойство description компьютерных объектов в домене (-ах).
Как только это будет сделано, все, что вам нужно, это скрипт, который генерирует любую информацию, которую вы хотите, и записывает свойства в объект компьютера. Этот сценарий затем назначается в качестве сценария входа через объект групповой политики, связанный с доменом.
Мы помещаем метку времени, имя пользователя, IP-адреса в поле описания. Отметка времени стоит на первом месте, потому что она позволяет быстро увидеть «старые» компьютерные объекты путем сортировки в поле описания.
Вот сценарий, который я написал для этого, если вы хотите использовать его в качестве отправной точки:
источник
Я должен был достичь того же результата по тем же причинам; каким-то образом определить, с какой машины входил конкретный пользователь. Я хотел знать «до факта» и не мог изменить сценарии входа пользователя, как обсуждалось выше.
Я использовал powershell на контроллере домена, с которым пользователь проходил аутентификацию, для анализа журнала событий безопасности:
get-eventlog "Security" | where {$_.Message -like "*Username*" -AND "Source Network Address"} | export-csv C:\Temp\test.csv
Взломайте .csv с помощью Excel или вашего любимого редактора и найдите самую последнюю запись, в которой указаны имя учетной записи (имя пользователя) и адрес исходной сети в одном и том же событии.
Возможно, это не 100% надежное решение (в зависимости от времени аренды DHCP и т. Д.), Но оно сработало для меня.
источник
Вы можете включить аудит для событий входа в систему. Эти события (включая разблокировку рабочей станции) будут храниться в журнале безопасности контроллера домена.
Есть также сторонние инструменты, которые могут сделать это проще, такие как True Last Logon .
источник
Я просто записываю имя пользователя (а также другую информацию, такую как дата и время, некоторые версии программ и т. Д.) В описание компьютера с помощью сценария входа. Таким образом, я могу быстро и легко получить всю информацию из AD Users & Computers, и в качестве бонуса у меня есть хороший способ определить, какие ПК, все еще находящиеся в AD, не использовались какое-то время (и, следовательно, скорее всего, это мертвые машины).
источник
ThatGraemeGuy , спасибо за отличный сценарий! Мне пришлось переписать его в PowerShell, но он все еще работает.
источник
Хитрость в том, чтобы знать наверняка, где в последний раз пользователи заходили, кроме предложений от Адама, - это агрегирование журналов. Если у вас несколько контроллеров домена, вы должны либо проверить их все, либо централизовать ведение журнала, а затем проверить один журнал.
Некоторые, может даже большинство сторонних инструментов достаточно умны, чтобы запрашивать все контроллеры домена. Но если вы подумываете о написании сценария для его самостоятельного анализа, я не могу утверждать достаточно сильно для централизации ваших журналов.
источник
В идеале, вы должны получить следующую информацию для вашей команды CSIRT, чтобы помочь в проведении расследований.
вход по идентификатору пользователя с именем рабочей станции MAC-адрес IP-адрес Дата / тип времени входа в систему (rdp, interfactive и т. д.)
Затем добавьте это в команду sql в базу данных, которую они могут запросить. Биты и фрагменты регистрируются повсеместно, но запись этого позволяет сэкономить время при извлечении данных с серверов DHCP / WINS и т. Д.
источник
Единственный способ получить самую последнюю информацию - поиск пищи в журнале. Используйте инструмент, такой как Microsoft Operations Manager, или бесплатный инструмент, такой как малый барабан, для объединения интересных журналов событий с сервера в центральное место (обычные текстовые файлы или базы данных SQL), а затем используйте инструменты, такие как logparser или SQL-запросы, для создания необходимого отчета.
чтобы найти разные идентификаторы событий для разных событий, перейдите в энциклопедию журнала событий
Дайте мне знать, если вы хотите следовать по этому пути, я могу помочь вам создать соответствующие запросы для logparser.
источник
Если вы ищете историческую справку, вы можете попробовать сторонний инструмент, такой как Logon Central, от Motivate Systems. Он записывает все входы пользователей в Active Directory и предоставляет веб-интерфейс для интеллектуального анализа данных. Он также включает в себя несколько довольно хороших графиков, которые переводят статистику входа в систему в процентах использования.
источник
ind Войти в AD
Много раз нам требуется знать, входит ли конкретный логин в группу пользователей рекламы. Или иногда нам нужно знать группу AD и хотеть знать, кто все логины являются ее частью.
Есть много разных способов добиться этого.
Я выполняю этот шаг, чтобы создать ярлык на моем рабочем столе, где я могу легко найти логины. Пожалуйста, следуйте процессу как
START-> RUN -> rundll32 dsquery, OpenQueryWindow
Вы можете найти все объявления, частью которых вы являетесь, используя это.
Пуск-> Настройки-> Панель управления -> Инструменты администратора -> Пользователь и компьютеры Active Directory. Выберите домен, в котором вы хотите найти логин, щелкните правой кнопкой мыши по этому домену и выберите опцию «Найти».
источник
Я собирался добавить это в качестве комментария к ответу marcusjv выше, но у меня нет репутации, поэтому придется сделать отдельный ответ:
В этом выражении -AND «Исходный сетевой адрес» всегда будет иметь значение ИСТИНА.
Я думаю, что вам нужно: get-eventlog "Безопасность" | где {$ .Message-like "* username *" -AND $ .Message.contains ("Исходный сетевой адрес")}
источник