Мне нужно перечислить всех пользователей в AD, у которых нет записи в поле NAME (пример: smith, jon)
Пока у меня что-то вроде ниже
Get-ADUser -filter {Name -eq " "} | FT SamAccountName
Я знаю, что это не удается из-за пустых цитат.
По сути, мне нужен фрагмент кода, который «перечисляет всех пользователей, у которых есть пустое поле имени».
Если есть другой способ сделать это через PowerShell, или если я немного сбился с пути, пытаясь использовать пустые кавычки, дайте мне знать.
Любая помощь приветствуется.
Есть несколько способов сделать это:
Get-ADUser -LDAPFilter "(!GivenName=*)" | ft samAccountName
Get-ADUser -Filter * | Where {$_.GivenName -eq $Null -OR $_.Surname -eq $Null -OR $_.Name -eq $Null} | select samAccountName
Это должно сработать для вас.
Добавлена вторая команда, которая проверяет, не заполнено ли какое-либо из полей «имя».
Если вы хотите, чтобы все пользователи Name
атрибут либо NULL, либо пустой, либо состоящий только из пробелов, вы можете сделать это следующим образом:
Get-ADUser -Filter * | where {[System.string]::IsNullOrEmpty(($_.Name).Trim())} | select sAMAccountName