Búsqueda de sitios web

Filtrado de cadenas de búsqueda Get-MsolUser


Para buscar usuarios en Azure AD con el comando Get-MsolUser, tiene básicamente dos opciones:

  • Extraiga todos los usuarios y busque el conjunto de resultados.
  • Utilice el parámetro SearchString para limitar el conjunto de resultados del lado del servidor (nube)

Si tuviera que realizar búsquedas de AD locales, siempre recomendaría usar un filtro LDAP para limitar el conjunto de resultados y mejorar el rendimiento.

Pero con el enfoque Get-MsolUser SearchString, no estoy muy seguro:

El comando Get-MsolUser SearchString tiene una funcionalidad muy limitada.

Según las pruebas, parece que Get-MsolUser -SearchString realiza una búsqueda de 'cadena de búsqueda + comodín' en los atributos DisplayName, FirstName y LastName.

La documentación de Microsoft es muy vaga (por no decir completamente errónea) al respecto.

Veamos el siguiente ejemplo:

PS C:\> Get-MsolUser -UserPrincipalName lene.hau@azure.skrubbeltrang.com | fl FirstName,LastName,DisplayName

FirstName   : Lene
LastName    : Hau
DisplayName : Awesome Scientist

Las siguientes son algunas consultas diferentes que utilizan el parámetro SearchString para ilustrar mi punto:

PS C:\> Get-MsolUser -SearchString Len

UserPrincipalName                DisplayName       isLicensed
-----------------                -----------       ----------
lene.hau@azure.skrubbeltrang.com Awesome Scientist True

PS C:\> Get-MsolUser -SearchString ene
PS C:\> Get-MsolUser -SearchString Hau

UserPrincipalName                DisplayName       isLicensed
-----------------                -----------       ----------
lene.hau@azure.skrubbeltrang.com Awesome Scientist True

PS C:\> Get-MsolUser -SearchString Awe

UserPrincipalName                DisplayName       isLicensed
-----------------                -----------       ----------
lene.hau@azure.skrubbeltrang.com Awesome Scientist True

PS C:\> Get-MsolUser -SearchString Scien
PS C:\>

Es posible que se estén buscando otros atributos que no he identificado.

Pero más o menos puedes pensar así:

(FirstName StartsWith [string]) OR (LastName StartsWith [string] OR DisplayName StartsWith [string])

Esta forma de búsqueda puede resultar útil para identificar rápidamente si un usuario determinado existe en Azure AD.

Pero como parte de un esquema de búsqueda mayor es prácticamente inútil.

La mejor alternativa (lamentablemente de rendimiento lento en entornos de grandes empresas) es recuperar todo y buscarlo localmente:

Get-MsolUser | ? {$_.Country -eq 'Denmark' -and $_.DisplayName -Like '*Scientist*'}

Como se vio arriba, puede buscar cualquier atributo y mirar dentro de los atributos de cadena:

PS C:\> Get-MsolUser | ? {$_.Country -eq 'Denmark' -and $_.DisplayName -Like '*Scientist*'}

UserPrincipalName                DisplayName       isLicensed
-----------------                -----------       ----------
lene.hau@azure.skrubbeltrang.com Awesome Scientist True

… sólo para ilustrar dos cosas que no se pueden hacer con el parámetro SearchString.

Estoy seguro de que la inutilidad del parámetro SearchString le quita mucho calor a la infraestructura de la nube de Microsoft.

Es mejor que las búsquedas se realicen localmente después de recuperar el lote... ?

Cómo buscar y editar rápidamente usuarios híbridos de Office 365

Una forma de hacer su vida administrativa mucho más fácil es utilizar Easy365Manager.

Easy365Manager es un complemento para usuarios y computadoras de AD que expone el buzón de correo y la configuración de la licencia de Office 365.

Puede buscar fácilmente cualquier cuenta de usuario en Usuarios y computadoras de AD y corregir la configuración de Office 365 (sí, ni siquiera necesita abrir ninguna consola web ni usar PowerShell).

Considere con qué facilidad puede delegar el acceso al calendario directamente desde las propiedades del usuario en Usuarios y computadoras de AD:

(Sin Easy365Manager, la delegación del calendario requiere algo de PowerShell desagradable, con un comando para agregar permisos, otro comando para modificar permisos y un tercer comando para obtener el nombre de la carpeta del calendario del buzón ?)

Puede descargar e instalar Easy365Manager en un par de minutos e inmediatamente comenzará a ahorrar tiempo utilizando la intuitiva interfaz gráfica de usuario:

Artículos relacionados