PowerShell - Аудит пользователей в систему PowerShell
-
smotritel89
PowerShell - Аудит пользователей в систему PowerShell
Всем привет!
Хочу сделать скрипт, отображающий вход/выход пользователей в систему по RDP, на WinServ 2008, 2012
нашел на хабре статью, так у меня даже базовые вещи не отображаются:
ввожу: Get-EventLog security -message "*Тип входа:?10*" -after (Get-date -hour 0 -minute 0 -second 0) | ?{$_.eventid -eq 4624 }
в ответ ничего.
убераю -message "*Тип входа:?10*", отображается все по событию 4624.
Как нужно правильнее записать?
Хочу сделать скрипт, отображающий вход/выход пользователей в систему по RDP, на WinServ 2008, 2012
нашел на хабре статью, так у меня даже базовые вещи не отображаются:
ввожу: Get-EventLog security -message "*Тип входа:?10*" -after (Get-date -hour 0 -minute 0 -second 0) | ?{$_.eventid -eq 4624 }
в ответ ничего.
убераю -message "*Тип входа:?10*", отображается все по событию 4624.
Как нужно правильнее записать?
-
Kazun
Re: PowerShell - Аудит пользователей в систему PowerShell
Могут быть проблемы с полем message из-за региональных настроек (оно будет пустое).
Попробуйте на 2012 для начала(т.к. в Windows Server 2008 FilterXPath не работает):
Код:
Попробуйте на 2012 для начала(т.к. в Windows Server 2008 FilterXPath не работает):
Код:
Код: Выделить всё
Get-WinEvent Security -FilterXPath "*[System[EventID=4624] and EventData[Data[@Name='LogonType']=10]]"-
smotritel89
Re: PowerShell - Аудит пользователей в систему PowerShell
да, выводиться,
но при добавлении -after (Get-date -hour 0 -minute 0 -second 0), т.е указать конкретную дату, ошибка.
то я так понял у Get-WinEvent нет параметра -after..
мне нужно будет оперировать еще с переменной, message, т.е отобразить
- Имя пользователя
- IP адрес.
как же быть?
но при добавлении -after (Get-date -hour 0 -minute 0 -second 0), т.е указать конкретную дату, ошибка.
то я так понял у Get-WinEvent нет параметра -after..
мне нужно будет оперировать еще с переменной, message, т.е отобразить
- Имя пользователя
- IP адрес.
как же быть?
-
Kazun
Re: PowerShell - Аудит пользователей в систему PowerShell
Код: Выделить всё
$today = [int](new-timespan ([datetime]::Today)(get-date)).TotalMilliseconds
$filter = "*[System[EventID=4624 and TimeCreated[timediff(@SystemTime)<=$today]] and EventData[Data[@Name='LogonType']=10]]"
Get-WinEvent Security -FilterXPath $filter | Select TimeCreated,@{n="UserName";e={$_.properties[5].value}},@{n="IP";e={$_.properties[18].value}}-
smotritel89
-
smotritel89
Re: PowerShell - Аудит пользователей в систему PowerShell
Осталось к Win 2003.
нашел вроде скрипт.
но столкнулся с непоняткой
вот строчки:
Код:
на выходе $ipaddr, только первые 2 цифры IP адреса.
как написать чтобы всю строчку вывел?
нашел вроде скрипт.
но столкнулся с непоняткой
вот строчки:
Код:
Код: Выделить всё
$event.message -match "Source Network Address:\s+(\d+)" | Out Null
$ipaddr = matches[1]на выходе $ipaddr, только первые 2 цифры IP адреса.
как написать чтобы всю строчку вывел?
-
Kazun
Re: PowerShell - Аудит пользователей в систему PowerShell
Самое простое:
Код:
или
Код:
Код:
Код: Выделить всё
-match "Source Network Address:\s+(\d{0,3}\.\d{0,3}\.\d{0,3}\.\d{0,3})"или
Код:
Код: Выделить всё
$ipaddr = $event.ReplacementStrings[18]-
Dobrezov
Re: PowerShell - Аудит пользователей в систему PowerShell
Поделиться готовыми скриптами можно попросить? "От жадности" на все версии хотелось-бы. Ну, а по насущной потребности - на 2008R2 нужно.
Спасибо!
P.S. Или подскажите тут:
Спасибо!
P.S. Или подскажите тут:
http://forum.oszone.net/showthread.p...68#post2602968