Consulta SCCM y WMI para encontrar todas las computadoras portátiles y de escritorio

Para instalar un software especial en todos los dispositivos portátiles de la empresa, era necesario construir una colección SCCM, que incluiría todas las computadoras portátiles (y otros sistemas móviles portátiles) en una red corporativa. Inmediatamente no pude encontrar la propiedad del sistema para identificar explícitamente una computadora como una computadora portátil o una computadora de escritorio.

Para empezar, traté de filtrar dispositivos portátiles usando filtros WMI de GPO e instalarles software usando políticas de grupo. Había varias variantes para crear consultas WMI mediante comprobación:

  • Estado de la batería (solo los portátiles la tienen): SELECT * FROM Win32_Battery WHERE (BatteryStatus <> 0)
  • Tipo de RAM (SODIMM para portátiles): Select * from Win32_PhysicalMemory WHERE (FormFactor = 12)
  • Propiedades de PCSystemType: SELECT * FROM Win32_ComputerSystem WHERE PCSystemType = 2
Nota. Posibles valores de PCSystemType

Valor Tipo de sistema
0 Sin especificar
1 Escritorio
2 Móvil
3 Puesto de trabajo
4 Servidor empresarial
5 Servidor para pequeñas oficinas y oficinas en el hogar (SOHO)
6 PC del aparato
7 Servidor de rendimiento
8 Máximo

Cada una de estas consultas tiene sus ventajas y desventajas. En teoría, la más óptima debería ser la filtración por valor de PCSystemType, pero esta clase apareció solo en Vista, y tenemos muchas computadoras ejecutando el obsoleto Windows XP, que no se filtrará usando estas consultas.

A consultas de WMI para determinar ChassisTypes, ser parte de Win32_SystemEnclosure la clase me ha parecido más interesante:

Los posibles valores de ChassisTypes se dan en la tabla siguiente.

ChassisTypes Valor Tipo de sistema
1 Otro
2 Desconocido
3 Escritorio (incluidas máquinas virtuales)
4 Escritorio de perfil bajo
5 Caja de pizza
6 Mini torre
7 Torre
8 Portátil
9 Computadora portátil
10 Computadora portátil
11 Mano
12 Estación de acoplamiento
13 Todo en uno
14 Cuaderno secundario
15 Ahorro de espacio
dieciséis Caja de almuerzo
17 Chasis del sistema principal
18 Chasis de expansión
19 Sub chasis
20 Chasis de expansión de bus
21 Chasis periférico
22 Chasis de almacenamiento
23 Chasis de montaje en rack
24 PC con carcasa sellada

Por lo tanto, los siguientes tipos de chasis son típicos para:

  • computadoras portátiles: 8, 9, 10, 11, 12, 14, 18, 21
  • escritorios: 3, 4, 5, 6, 7, 15, 16
  • servidores: 17,23

La versión final de un filtro WMI se ve así:

select * from Win32_SystemEnclosure where ChassisTypes = "8" or ChassisTypes = "9" or ChassisTypes = "10" or ChassisTypes = "11" or ChassisTypes = "12" or ChassisTypes = "14" or ChassisTypes = "18" or ChassisTypes = "21"

Este filtro WMI se puede transformar fácilmente en una consulta SCCM, lo que permite construir una colección con todos los portátiles de la red.

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name, SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup, SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where
SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ( "8", "9", "10","11", "12", "14","18","21")

Finalmente, para proporcionar una vista completa sobre la proporción cuantitativa de equipos de escritorio y portátiles en la red, puede realizar un informe de SCCM:

SELECT
CASE ChassisTypes0
WHEN '8' THEN 'Notebooks'
WHEN '9' THEN 'Notebooks'
WHEN '10' THEN 'Notebooks'
WHEN '11' THEN 'Notebooks'
WHEN '12' THEN 'Notebooks'
WHEN '14' THEN 'Notebooks'
WHEN '18' THEN 'Notebooks'
ELSE 'Desktops'
END AS "Workstation Type", count(distinct sys.name0) as ClientCount from
v_GS_SYSTEM_ENCLOSURE ENC
INNER JOIN
v_R_System SYS ON ENC.ResourceID = SYS.ResourceID
WHERE
sys.client0=1 AND sys.obsolete0=0 AND active0=1
GROUP BY
CASE ChassisTypes0
WHEN '8' THEN 'Notebooks'
WHEN '9' THEN 'Notebooks'
WHEN '10' THEN 'Notebooks'
WHEN '11' THEN 'Notebooks'
WHEN '12' THEN 'Notebooks'
WHEN '14' THEN 'Notebooks'
WHEN '18' THEN 'Notebooks'
ELSE 'Desktops'
END
ORDER BY 2 desc

En nuestro caso, la proporción de PC de escritorio y portátiles es de 2832 a 109.

informe sccm con recuento de portátiles / escritoriosEntonces, hemos considerado cómo crear una colección SCCM o un filtro GPO WMI que permita seleccionar todas las computadoras portátiles en la red usando el atributo ChassisTypes de la clase SystemEnclosure.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *