Você não pode usar um curinga parcial em um filtro LDAP em um atributo DN, como distinguishedName
.
De Active Directory: filtros de sintaxe LDAP
The wildcard character '*' is allowed, except when the (AD Attribute) is a DN attribute. Examples of DN attributes are distinguishedName, manager, directReports, member, and memberOf. If the attribute is DN, then only the equality operator is allowed and you must specify the full distinguished name for the value (or the * character for all objects with any value for the attribute).
Seu primeiro exemplo distinguishedName -like "*"
significa que "distinguishedName não está vazio", e é por isso que ele retorna resultados.
Em vez disso, use Where-Object
para corresponder aos atributos fora da sintaxe do filtro LDAP. A tabela a seguir retorna todos os objetos do AD a partir de $server
em $searchBase
e usa Where-Object
para filtrar a coleção em que distinguishedName
corresponde a CN=Jason*
.
Get-ADObject -Server $server -SearchBase $searchBase -Filter * |
Where-Object { $_.distinguishedName -like 'CN=Jason*' }
Você também tem uma opção de regex completa usando -match
em vez de -like
.