Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата alexander_stepanov1:
здесь мы выводим список, исходя из нашего фильтра:
Get-ADComputer -Filter "Enabled -eq '$true' -and DnsHostName -like '*'" | Foreach { »
Нет. «Здесь» мы получаем из AD перечень разрешённых машин. К «нашему фильтру» сие отношения пока не имеет.

Цитата alexander_stepanov1:
а вот тут я понял не до конца, вы не могли бы пояснить
$event = $mail = $user = $null »
Аналогично:
Код: Выделить весь код
$event = $null
$mail = $null
$user = $null
А вот тут:
Цитата alexander_stepanov1:
$event = Get-WinEvent -FilterXPath $filter -LogName Security -MaxEvent 1 -ComputerName $_.DnsHostName »
уже «наш фильтр» задействуется. Для каждой машины получаем из журнала безопасности последнее событие успешной регистрации пользователя, локально или посредством RDS.

Цитата alexander_stepanov1:
if($event) {
$user = $event.Properties[5].Value
if($user) {
$mail = (Get-ADUser $user -Properties mail).mail
}
} »
Если таковое событие найдено, попытаться получить из его свойств имя пользователя. Если таковое получено, попытаться получить из AD его почту.

Цитата Kazun:
[pscustomobject]@{ ComputerName = $_.Name
UserName = $user
MailAddress = $mail
} »
Оформить потребные свойства в пользовательский объект.

Повторить для каждой из полученного перечня машин.

Цитата alexander_stepanov1:
и почему у нас именно такое условие поиска? »
Потому, что это именно то условие, которое потребно. Базовые начала: 10 критически важных event ID для мониторинга / Блог компании Netwrix / Хабрахабр.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:33, 18-01-2016 | #4