Microsoft Teams – Usando Get-CsOnlineUser con filtros (PowerShell de Microsoft Teams 5.0.0)


El cmdlet de PowerShell Get-CsOnlineUser es una herramienta poderosa que te permite obtener información sobre tus usuarios de Teams, y con el Módulo de PowerShell de Teams 5.0.0 ha sido actualizado con nuevas funciones y mejoras de rendimiento para facilitar aún más la gestión de tus usuarios de Teams (ver las Notas de la Versión aquí).

En esta entrada de blog, exploraré las últimas mejoras del cmdlet Get-CsOnlineUser, incluyendo mejoras significativas de rendimiento y nuevas capacidades de filtrado que te permiten obtener información de manera más eficiente. También proporcionaré ejemplos de cómo utilizar los nuevos atributos como filtros en tus scripts de PowerShell para obtener la información que necesitas sobre tus usuarios de Teams.

Mejoras de Rendimiento
La imagen muestra Get-CsOnlineUser de la versión 4.9.3 (arriba) y de la versión 5.0.0 (abajo). La prueba se realizó desde la misma estación de trabajo y en el mismo inquilino. El tiempo requerido disminuyó de 34 segundos a 8.

Utilice los nuevos atributos como filtros en sus scripts de PowerShell

Actualmente, dos atributos citados en la documentación están equivocados en comparación con lo que se obtiene del inquilino:

CompanyName should be Company
State should be StateOrProvince

Nota: En los ejemplos, he creado simplemente una lista de usuarios que coinciden con el filtro.

Este comando recuperará todos los usuarios que se encuentren en el estado de Washington y en cualquier ciudad que contenga “Bell” en su nombre.

Get-CsOnlineUser -Filter {Stateorprovince -eq "WA" -and City -like "Bell"} | ft userprincipalname

Este comando recuperará todos los usuarios que tienen habilitada la característica “PhoneSystem”.

Get-CsOnlineUser -Filter {FeatureTypes -contains "PhoneSystem"} | ft userprincipalname

Este comando recuperará todos los usuarios que fueron creados entre el 1 de enero y el 6 de marzo de 2023

Get-CsOnlineUser -Filter {WhenCreated -gt "2023-01-01T00:00:00Z" -and WhenCreated -lt "2023-03-06T23:59:59Z"} | ft userprincipalname

Este comando recuperará todos los usuarios cuya dirección SipProxyAddress contiene “m365x01033383.onmicrosoft.com”

Get-CsOnlineUser -Filter {SipProxyAddress -like "*m365x01033383.onmicrosoft.com"} | ft userprincipalname

Este comando recuperará todos los usuarios cuyo CompanyName es “Contoso”. (Ten en cuenta que, como mencionamos anteriormente, la documentación puede estar desactualizada).

Get-CsOnlineUser -Filter {Company -eq "Contoso"}

Este comando recuperará todos los usuarios cuyo HostingProvider está configurado como “sipfed.online.lync.com”.

Get-CsOnlineUser -Filter {HostingProvider -eq "sipfed.online.lync.com"} | ft userprincipalname

Este comando recuperará todos los usuarios cuyo Alias contiene “John”.

Get-CsOnlineUser -Filter {Alias -like "*john*"}

Este comando recuperará todos los usuarios eliminados suavemente que fueron eliminados después del 1 de enero de 2023.

Get-CsOnlineUser -Filter {SoftDeletionTimestamp -gt "2023-01-01T00:00:00Z"}

Este comando recuperará todos los usuarios cuyo PreferredDataLocation está configurado como “EUR”.

Get-CsOnlineUser -Filter {PreferredDataLocation -eq "EUR"}

Este comando recuperará todos los usuarios cuyo LastName es “Vance”.

Get-CsOnlineUser -Filter {LastName -eq "Vance"}