Когда то такой вопрос возникает практически у каждого администратора домена, а все ли поля корректно заполнены в active directory.
Если в домене 10-30 пользователей можно пробежаться руками и проверить поля на заполнение , а если их больше 500 или 1000 пользователей это офигеть, нам на помощь приходит снова PowerShell:
$base = "OU=Users,DC=Domain,DC=Local"
$properties = "telephoneNumber","mail","displayName","company","department","manager","title"
$body = Get-ADUser -Filter * -SearchBase $base -Properties $properties | Foreach {
$user = $_
if($miss = $properties | Where {!$user."$_"}) {
"{0} - {1}" -f ($miss -join ","),$user.name
}
else {
"verify - {0}" -f $user.name
}
} | Sort | Out-String
Send-MailMessage -From noreply@domain.local -To info@domain.local -Subject "Informer AD-Users" -Body $Body -SmtpServer smtp.domain.local
Данные скрипт проверяет поля :
telephoneNumber
mail
displayName
company
department
manager
title
И присылает письмо на почту, в котором указанно каких пользователей надо проверить.