![]() |
Get-ADUser + GetADComputer
Добрый день
Как реализовать такое: Я знаю учетку юзера, мне надо найти комп на которым он логинился (или несколько, сколько раз, с каким успехом и т.д,) за последнюю неделю. Это должен быть скрипт. powershell Должен запускаться с любого компьютера AD (можно с запросом прав на просмотр AD). Или все-таки надо парсить журнал security DC надо парсить? Догадываюсь что Get-ADUser и GetADComputer должны быть как-то связаны кроме description, но не могу понять как. |
|
"для чего нужна связь?
это 2 разных объекта" я же вроде внятно написал для чего. Я знаю доменную учетку юзера, мне надо найти комп на которым он логинился (или несколько, сколько раз, с каким успехом и т.д,) за последнюю неделю и не хочу при этом лезть на DC. Парсинг жкрнала DC не подходит, так как нужны права админа AD и он будет занимать длительное время. |
Цитата:
Цитата:
или выгружайте журналы в отдельную папку с необходимым доступом можно делать анализ ночью и высылать отчет по почте, всех неудачных попыток для анализа где кто зашел в текущий момент, много вариантов... для получение истории, только анализ журнала. |
nick348, это клёво что тебе надо, но в структуре Active Directory никакой связи между объектами "компьютер" и "пользователь" - нет.
|
Charg, ну не то чтобы совсем нет... Можно пользователю разрешить логиниться только на определенных компьютерах, и вопрос решен. Информация о том куда логинился, конечно, будет только в секурицу логе, если не использовать какие-нибудь логон скрипты пишущие кто-куда логинился.
вот так например: Код:
$env:USERNAME + ' ' + (Get-Date) | Out-File $env:COMPUTERNAME -Append |
А без GPO?
|
Цитата:
|
Charg, я имел ввиду тот факт, что при наличии такой настройки не придется собирать данные
nick348, без GPO только колупательство в security, например так: Код:
Get-WinEvent -FilterHashtable @{LogName=”Security”;Id=4624} | ForEach-Object {write-host $_.properties[1].value $_.properties[5].value $_.TimeCreated} |
А без GPO?
|
nick348 Это не решит вашу проблему, но, возможно, кому-то будет полезно. Через GPO, на вход и выход пользователя из системы, запускаю подобный скрипт. Он показывает когда и с какого компа пользователь входил в систему, и когда вышел (два почти одинаковых скрипта).
Код:
$data = (Get-Date).ToString("dd:MM:yyyy") Код:
ИмяПользователя ИмяКомпьютера Дата Время |
vkz, зачем такие костыли с датой и временем если можно было сразу (Get-Date).ToString("dd:MM:yyyy HH:mm:ss")?
|
Цитата:
Код:
"`t" |
Iska, да, действительно, ошибся.
|
Цитата:
|
vkz, я это к тому говорил что в методе ToString() можно любой удобоваримый вид изначально задать, хоть 10 табов внутрь запихнуть если они нужны.
|
Время: 19:36. |
Время: 19:36.
© OSzone.net 2001-