Eu preciso listar todos os usuários no Active Directory que não possuem dados no campo NAME, usando o PowerShell

2

Eu preciso listar todos os usuários no AD que não possuem nenhuma entrada no campo NAME (exemplo: smith, jon)

Até agora eu tenho algo como abaixo

Get-ADUser -filter {Name -eq " "} | FT SamAccountName

Eu sei que isso falha por causa das cotações vazias.

Essencialmente eu preciso de um pedaço de código que "lista todos os usuários que têm um campo de nome em branco"

Se houver outra maneira de fazer isso por meio do PowerShell ou se eu estiver apenas um pouco fora de controle com as citações em branco, avise-me.

Qualquer ajuda é apreciada.

    
por Perry 15.03.2013 / 20:17

2 respostas

7

Existem algumas maneiras de fazer isso:

Get-ADUser -LDAPFilter "(!GivenName=*)" | ft samAccountName

Get-ADUser -Filter * | Where {$_.GivenName -eq $Null -OR $_.Surname -eq $Null -OR $_.Name -eq $Null} | select samAccountName

Isso deve funcionar para você.

Adicionado um segundo comando que verificará se algum dos campos "name" está em branco.

    
por 15.03.2013 / 20:20
2

Se você quiser que todos os usuários em que o atributo Name seja NULL, vazio ou consistindo apenas em espaço em branco, você poderá fazer isso da seguinte forma:

Get-ADUser -Filter * | where {[System.string]::IsNullOrEmpty(($_.Name).Trim())} | select sAMAccountName
    
por 16.03.2013 / 11:09