GPO: use filtros WMI para filtrar la aplicación de políticas de grupo

En este tutorial, lo guiaré a través de cómo crear y usar filtros WMI de directivas de grupo para filtrar la aplicación de directivas de grupo.

Antes de comenzar, la parte «técnica» donde veremos cómo configurar y usar un filtro WMI en una política de grupo, comenzaré con un ejemplo para mostrarle el interés de usar un filtro WMI.

Por qué usar filtros WMI

Para ilustrar este tutorial, partiremos de la siguiente situación: debemos aplicar una política de grupo solo a equipos que estén en Windows 7.

Como podemos ver en las capturas de pantalla a continuación, la versión del sistema operativo está escrita en la descripción.

Para responder a nuestro problema, tenemos varias soluciones:

  • Cree un grupo (Computadora_W7), agregue las computadoras en este grupo y aplique la política al grupo
  • En las unidades organizativas (OU), cree una nueva en OU con la versión del sistema operativo y vincule la estrategia a las unidades organizativas…

Como seguramente habrás entendido, existen varias soluciones para lograr el “mismo” resultado, aquí veremos cómo solucionar este problema con el uso de filtros WMI, lo que nos permitirá:

  • Para tener una solución dinámica, si el equipo se actualiza a Windows 10/11, ya no se aplicará la política de grupo y sin acciones por nuestra parte.
  • No tener que modificar la estructura de las unidades organizativas
  • Sin creación de grupos adicionales

¿Qué es WMI?

Esta sección es solo un resumen para que sepa qué es WMI.

WMI es el acrónimo de: Windows Management Instrumentation, que se basa en el estándar WBEM (Web-Based Enterprise Mangement), que permite a través de consultas (que es muy similar a SQL) recuperar información del sistema como componentes de hardware, información sobre el funcionamiento sistema …

WMI se puede utilizar:

  • Con pólizas de grupo
  • PowerShell con el cmdlet Get-WmiObject
  • VBS
  • ….

Este es un ejemplo de una consulta WMI:

select name,version,producttype from Win32_OperatingSystem

Lo que nos da en PowerShell:

Get-WmiObject -query "select name,version,producttype from Win32_OperatingSystem"
WMI Query

Ahora que tiene la información que necesita para comprender este tutorial de la mejor manera posible, es hora de practicar.

La consulta WMI

Antes de crear nuestro filtro WMI, primero veremos la consulta que vamos a crear.

Lo que queremos hacer es filtrar contra la versión de nuestro sistema operativo, esta información está en la clase (tabla) Win32_OperatingSystem y buscaremos el valor (campo) Versión.

Lo que nos da hasta ahora:

Select * FROM Win32_OperatingSystem WHERE version = X.Y

Para encontrar las versiones de Windows, es necesario buscar en Internet, porque esto cambia periódicamente.

Al momento de escribir el tutorial, esto es lo que puedo darte:

versión de WindowsNúmero de versión
Windows XP (32)5.1
Windows XP (64)5.2
Windows Server 2003 R25.2
Windows Vista6.0
Windows Server 20086.0
Windows 76.1
Windows Server 2008 R26.1
Windows 86.2
Windows Server 20126.2
Windows 8.16.3
Windows Server 2012 R26.3
Windows 10 (1607)10.0.14393
Windows 10 (1809)10.0.17763
Windows 10 (1909)10.0.18363
Windows 10 (2004)10.0.19041
Windows 10 (20H2)10.0.19042
Windows 10 (21H1)10.0.19043
Windows 11 (21H2)10.0.22000
Windows Server 2016 (1607)10.0.14393
Windows Server 2019 (1809)10.0.17763
Windows Server 2022 (21H2)10.0.20348

Ahora que tenemos las versiones de Windows, volveremos a nuestra consulta WMI. Según la tabla, la versión de Windows 7 es 6.1

Lo que nos da para filtrar equipos con Windows 7:

Select * FROM Win32_OperatingSystem WHERE version = 6.1

En realidad usaremos esta consulta:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "6.1%"

El uso de LIKE seleccionará todas las versiones de Windows que comiencen con 6.1, por lo que si la versión completa de Windows es 6.1.XYZ, la consulta WMI la validará.

Normalmente algo debería molestarte, en la tabla, podemos ver que las versiones de «escritorio» y servidor de Windows comparten el mismo número de versión, por lo que si usamos la consulta, también aplicaremos la política de grupo a las computadoras con Windows Server 2008 R2. Debemos agregar un parámetro a la solicitud para indicar que solo queremos la versión «Desktop», para esto agregaremos un filtro en el parámetro ProductType y diremos que debe ser igual a 1 para excluir versiones de servidor.

Lo que nos da:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "6.1%" AND ProductType="1"
ProductType valeurSélection
1Versión de escritorio/cliente
2Controladores de dominio del servidor
3Servidor

Ahora que hemos visto la consulta, veremos cómo usarla con filtros WMI.

Cree un filtro WMI y utilícelo

Agregar un filtro WMI

1. Abra la consola de administración de directivas de grupo.

2. Haga clic en la carpeta WMI Filters 1 ubicada en el árbol de la derecha.

3. En esta ubicación, encontraremos todos los filtros WMI que se han ingresado, un filtro WMI se puede usar en varias políticas de grupo.

Cuando se agrega un filtro WMI a una política de grupo, se aplica en todos los enlaces.

4. Para crear un nuevo filtro, haga clic derecho en el área central y haga clic en Nuevo 1.

5. Nombre el filtro WMI 1 y luego haga clic en el botón Agregar 2.

6. De forma predeterminada, el espacio de nombres para seleccionar es root\CIMv2, que es el que desea utilizar. En el área de consulta 1, ingrese la consulta WMI que desea aplicar y haga clic en Aceptar 2.

7. Podemos ver que se añade la consulta 1, pulsamos en el botón Guardar 2 para guardar el filtro.

8. El filtro WMI se agrega a la lista.

Agregar un filtro a la directiva de grupo

1. Haga clic en la Política de grupo (o enlace) donde desea aplicar un filtro yendo a la pestaña Ámbito 1.

2. En la sección Filtrado WMI 1, seleccione el filtro de la lista desplegable 2.

3. Se muestra un mensaje de confirmación, haga clic en el botón Sí 1 para confirmar la aplicación del filtro.

4. Una vez confirmado, podemos ver que el filtro WMI está seleccionado.

Ahora sabe cómo aplicar un filtro WMI a la directiva de grupo.

Algunas consultas útiles

Aquí hay algunos ejemplos de consultas WMI que podría usar:

Todas las computadoras con Windows 10 y 11:

SELECT * FROM Win32_OperatingSystem WHERE Version LIKE "10.0%" AND ProductType="1"

Todas las computadoras / servidores que comienzan con un nombre que comienza con XXYY-

SELECT Name FROM Win32_ComputerSystem WHERE Name LIKE "XXYY-%"

Todo el servidor de Windows:

SELECT ProductType FROM Win32_OperatingSystem WHERE (ProductType = "2") OR (ProductType = "3")

Editor de destino

También es posible usar consultas WMI en algunas configuraciones de directiva de grupo que permiten la orientación a nivel de elemento.

En el editor de destino, no puede seleccionar un filtro WMI.


Los filtros WMI son herramientas poderosas que le permiten aplicar fácilmente una política de grupo basada en la configuración de la computadora sin la necesidad de crear un grupo o modificar las unidades organizativas y, además, es dinámica.