Get-MgGroup -Ejemplo de filtro
El comando Get-MgGroup viene con una función de filtrado como, por ejemplo, Get-ADGroup.
Pero si esperas la potencia del interruptor LdapFilter de Get-ADGroup o del lenguaje de expresiones de PowerShell interruptor de filtro, entonces te espera una triste sorpresa...
El filtro Get-MgGroup utiliza OData v3, que es demasiado complejo y carece de muchas funciones.
Desafortunadamente, en la mayoría de los casos, la mejor opción es recuperar todos los objetos del grupo y realizar el filtrado localmente.
Las siguientes secciones demostrarán algunos usos de las opciones del filtro Get-MgGroup.
Si prefiere una GUI simple en lugar de scripts complejos de PowerShell, eche un vistazo a Easy365Manager:
Easy365Manager es un complemento para Usuarios y equipos de Active Directory que consolida la gestión de Office 365 y Active Directory.
Con Easy365Manager, puede realizar toda la administración diaria de Office 365 directamente desde AD. Esto incluye tareas que normalmente requieren PowerShell, como la configuración de permisos del calendario, como se ve en el ejemplo anterior.
Revise la lista completa de funciones de Easy365Manager aquí.
Descargue una prueba de 30 días completamente funcional aquí.
Operadores de filtro Get-MgGroup
El modificador de filtro del comando Get-MgGroup se basa en el filtrado de oData v3.0.
Esto es contrario al filtro de lenguaje de expresión de PowerShell utilizado por Get-ADGroup -Filter, que nuevamente es diferente de la opción de filtro muy básica Get-MsolGroup -SearchString.
Sería bueno que los distintos equipos de desarrollo de Microsoft pudieran coordinar sus esfuerzos... ?
A continuación se detallan los operadores básicos disponibles para el filtrado Get-MgGroup:
| Operator | Meaning | Sample expression |
|---|---|---|
| eq | Equal to | DisplayName eq ‘Tycho Brahe’ |
| and | And | Country eq ‘Germany’ and Department eq ‘Marketing’ |
| or | Or | Country eq ‘Germany’ or Country eq ‘France’ |
Tenga en cuenta que el filtro Me gusta no está disponible: es imposible buscar subcadenas en los atributos del grupo MS Graph, lo que limita gravemente los casos de uso. Lo mismo ocurre con el filtro No y muchos más.
El único tipo de búsqueda con comodines disponible es el filtro "empieza con".
Además, es posible buscar los valores de atributos multivalor utilizando el filtro "cualquiera".
Sin embargo, una limitación importante de esto es la imposibilidad de buscar atributos complejos de tipo de objeto como "AssignedLicenses".
Ejemplos de filtros Get-MgGroup
A continuación encontrará algunos ejemplos básicos de la sintaxis del filtro Get-MgGroup.
Get-MgGroup -Filter "DisplayName eq 'E5_Licenses'"Get-MgGroup -Filter "DisplayName eq 'E3_Licenses' or DisplayName eq 'E5_Licenses'"Get-MgGroup -Filter "startswith(displayName,'US.')"Get-MgGroup -Filter "proxyAddresses/any(p:startswith(p,'smtp:sales'))"Pero como se menciona al principio del artículo:
Los casos de uso del parámetro Get-MgGroup Filter son muy limitados. En la mayoría de los casos, se ve obligado a recuperar todos los grupos y realizar el filtrado localmente, utilizando el filtro de lenguaje de expresión de PowerShell, por ejemplo:
Get-MgGroup -All | Where-Object {$_.DisplayName -like "*marketing*"}Get-MgGroup -Property AssignedLicenses,DisplayName -All | Where-Object {$_.AssignedLicenses.SkuId -eq "c42b9cae-ea4f-4ab7-9717-81576235ccac"} | ft DisplayNameAunque este enfoque puede funcionar mal en entornos grandes, ofrece muchas más opciones y flexibilidad.
