Filtros WMI

Los que trabajamos con dominios basados en Active Directory estamos trabajando continuamente con directivas (GPO). Muchas veces estas directivas no tienen una OU determinada para ser aplicadas o bien tampoco podemos asignarlas utilizando autenticación ya sea de usuario o equipo. Para eso podemos utilizar los filtros WMI dentro de nuestra GPO.

WMI (Windows Management Instrumentation), nos va a permitir interactuar con el equipo al que se le aplican las políticas y dependiendo de los filtros que nosotros usemos, decidirá si aplicarla o no. Por ejemplo, supongamos que generamos una directiva para instalar un Service Pack de Windows, asignamos el MSI a la misma y la aplicamos a toda la OU de equipos de nuestro entorno. Pero ¿qué pasa si tenemos equipos en nuestro entorno con poco espacio en disco C como para instalarse el Service Pack? yo no querria que se instalase en ese caso. Para eso usamos un simple filtro WMI que se fije el espacio en disco libre y si supera la cantidad que nosotros designamos se aplique la política o no.

Obviamente para poder manejar fácilmente estos filtros debemos administrar y generar las políticas con la GPMC (Group Policy Management Console). En la misma veremos a la izquierda abajo de todo una carpeta llamada WMI Filters. Ahí podemos guardar todos los filtros WMI que nosotros querramos y luego utilizarlos desde las políticas. Cada política puede tener un único filtro WMI asociado, pero ese filtro puede tener varias consultas.

imageCuando hacemos click derecho con el ratón y elegimos New nos aparece una ventana como la que se muestra a la izquierda.

Ahí debemos escribir nuestra consulta WMI que mas abajo comento. Una vez escrita toda la consulta hacemos click en Ok y ya va a estar disponible en las políticas para ser seleccionada y utilizada.

image En las directivas tenemos la opción de linkear directamente a un filtro WMI con sólo elegirla desde un menú desplegable. Esta opción aparece cuando hacemos click sobre alguna directiva.

Ahora bien, paso a comentar algunos filtros comunes que suelen ser utilizados para directivas de dominio, pero esto es mucho mas poderoso que estos filtros comunes ya que puedes armar el filtro que tu quieras, mientras que el resultado de la consulta no sea un array, porque en ese caso no se tomará en cuenta.

Filtro WMI para espacio libre en disco:
Select * from Win32_LogicalDisk where FreeSpace > 629145600
El espacio debe estar definido en bytes.

Filtro WMI según sistema operativo, en este caso Windows XP Pro:
Select * from Win32_OperatingSystem where Caption = “Microsoft Windows XP Professional”
Recomiendo primero probar la consulta en el equipo con el SO destino deseado ya que muchas veces el caption cambia según la versión.

Filtro WMI según marca y modelo del fabricante:
Select * from Win32_ComputerSystem where manufacturer = “Toshiba” and Model = “Tecra 800” OR Model = “Tecra 810”

Nuevamente como en el ejemplo anterior, correrlo localmente para corrobar los datos a utilizar.

Filtro WMI según nomenclatura de nombre de equipo:
Select * from Win32_ComputerSystem where Caption LIKE ‘NYC%’

Esto se usa cuando los equipos tienen una nomenclatura por ejemplo para la oficina u otro motivo y podemos utilizarlo a nuestro gusto.

Filtro WMI para corroborar la existencia de algún producto:
Select * from Win32_Product where name = “MSIPackage1”

Filtro WMI según algun parche instalado en el equipo destino:
Select * from Win32_QuickFixEngineering where HotFixID = ‘KB950760′

Aquí incluso podemos utilizar el OR al final para agregar mas de un hotfix.

Filtro WMI según la zona horaria del equipo:
Select * from win32_timezone where bias =-180

Ejecutarlo localmente en algún equipo con la zona horaria deseada para conocer el ID de la misma que se debe introducir al final de la consulta.

Como ven las posibilidades son infinitas. En este caso puse los filtros mas comunes pero cada uno puede armar su propio filtro según su necesidad.

Para las pruebas locales recomiendo utilizar el producto de Microsoft WMI Code Creator, donde podrán dar rienda suelta a su imaginación y armar el filtro que deseen.

Fuente Diego Cabai