samaccountname recognized not ejemplos all aduser active powershell filter active-directory

recognized - Powershell que pasa variable a-Filtro con comodín



list user active directory powershell (1)

Comportamiento extraño, esta no es LA RESPUESTA, sino un giro alrededor; -LDAPFilter , uso -LDAPFilter :

Get-ADUser -LDAPFilter "(userprincipalname=$user*)"

La notación polaca para el filtro es un poco desconcertante al principio, pero aquí, es la forma natural de filtrar utilizando el protocolo subyacente LDAP.

Get-ADUser -LDAPFilter "(|(userprincipalname=$user*)(samAccountName=$user))"

Puede obtener más información sobre esta sintaxis en la Sintaxis del filtro de búsqueda , también puede obtener los filtros correspondientes en About_ActiveDirectory_Filter .

Si realmente quieres usar la sintaxis de -Filter , puedes hacer lo siguiente (no estoy tan orgulloso de eso):

$userstar = "$user*" Get-ADUser -Filter {(userprincipalname -like $userstar) -or (samAccountName -like $user)}

Estoy teniendo un momento difícil aquí en este caso y sé que es probablemente un problema de sintaxis simple. No sé cómo pasar esta variable al fragmento de código y hacer que se reconozca correctamente.

$user = "Some.Person"

Esto funciona como yo esperaría.

get-aduser -filter {(Samaccountname -eq $user)}

Esto no lo hace

get-aduser -filter {(userprincipalname -like $user*)}

intentado con variaciones de "$user*" , "''$user*''" y algunos otros en vano.

El resultado final se usará de la siguiente manera porque tenemos cuentas AD donde UPN es diferente de UserName y tengo una lista completa de valores formateados de nombre de usuario que necesito confirmar que aún existen con cuentas activas.

Get-ADUser -Filter {(UserPrincipalName -like "$user*") -or (SamAccountName -eq "$user")} -SearchBase "" -Server "MyServer:3268"