Нечто подобное должно сделать для вас:
Get-ADUser -Filter * -SearchBase "OU=SomeOU,DC=mydomain,DC=forest,DC=local" | ForEach {
$_.SamAccountName
(new-object directoryservices.directoryentry "", ("domain\" + $_.SamAccountName), "").psbase.name -ne $null
Write-Host ""
}
Это проверит всех пользователей на пустой пароль.
В качестве альтернативы - если у вас есть тестовый пароль (вы ищете всех пользователей "password123") - попробуйте:
(new-object directoryservices.directoryentry "", ("domain\" + $_.SamAccountName), "password123").psbase.name -ne $null
Я использую это для проверки пользователей на постоянной основе, чтобы найти все учетные записи пользователей AD, которые были созданы, но не вошли в систему (и, следовательно, все еще используют наш пароль по умолчанию).
Я только что проверил это на машине PowerShell 4 с Windows 8.1, и она работает - но также известно, что она работает от всего, что работает с PowerShell 4 и 5 (и, возможно, старше)