SCCM / WMI запрос для выборки всех ноутбуков в домене

Для расстановки специализированного ПО на все переносные устройства компании потребовалась необходимость построения группы компьютеров или SCCM коллекции, которая бы включала в себя все ноутбуки (и другие переносные мобильные системы), работающие в корпоративной сети. Задача оказалась не так проста, как кажется на первый взгляд. Мне сразу не удалось найти свойство системы, которое бы однозначно определяло компьютер как ноутбук или десктоп.

Для начала попробовал отфильтровать мобильные компьютеры с помощью WMI фильтров GPO , и назначить на них установку ПО с помощью групповых политик . Было несколько вариантов составления WMI запросов путем проверки:

  • статуса батареи (она есть только у ноутбуков): SELECT * FROM Win32_Battery WHERE (BatteryStatus <> 0)
  • типа оперативной памяти (SODIMM для ноутбуков): Select * from Win32_PhysicalMemory WHERE (FormFactor = 12 )
  • свойства PCSystemType: SELECT * FROM Win32_ComputerSystem WHERE PCSystemType = 2

Примечание . Возможные значения PCSystemType

Значение Тип системы
0 Unspecified
1 Desktop
2 Mobile
3 Workstation
4 Enterprise Server
5 Small Office and Home Office (SOHO) Server
6 Appliance PC
7 Performance Server
8 Maximum

У каждого из предложенных запросов есть свои плюсы и минусы. Наиболее корректной по идее должна быть фильтрация по значению PCSystemType, но, увы этот класс появился только в Vista, а у нас осталось довольно много компьютеров с устаревшей Windows XP , которые не будут фильтроваться таким запросом.

Более интересным мне показался WMI запрос на определение типа шасси ( ChassisTypes ), содержащийся в классе Win32_SystemEnclosure :

Возможные значения ChassisTypes приведены в таблице:

Значение ChassisTypes Тип системы
1 Other
2 Unknown
3 Desktop (в том числе виртуальные машины)
4 Low Profile Desktop
5 Pizza Box
6 Mini Tower
7 Tower
8 Portable
9 Laptop
10 Notebook
11 Hand Held
12 Docking Station
13 All in One
14 Sub Notebook
15 Space-Saving
16 Lunch Box
17 Main System Chassis
18 Expansion Chassis
19 Sub Chassis
20 Bus Expansion Chassis
21 Peripheral Chassis
22 Storage Chassis
23 Rack Mount Chassis
24 Sealed-Case PC

Таким образом, значение Chassis Types:

  • для ноутбуков: 8 , 9, 10, 11, 12, 14, 18, 21
  • для десктопов: 3, 4, 5, 6, 7, 15, 16
  • для серверов: 17,23

Итоговый WMI запрос будет таким

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"

Этот WMI фильтр можно легко преобразовать в запрос SCCM, позволяющий построить коллекцию, включающую в себя все ноутбуки в сети.

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")

Ну и, наконец, для наглядного представления информации о количественном соотношении десктопов и лаптов в сети, можно построить 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

В нашем случае соотношение настольных ПК и ноутбуков 2832 к 109.

Итак, мы рассмотрели, как с помощью значения атрибута ChassisTypes класса SystemEnclosure построить SCCM коллекцию или создать WMI фильтр групповой политики, позволяющий выбрать все ноутбуки сети.

admin

Share
Published by
admin

Recent Posts

Apple: история логотипа

Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…

7 дней ago

Security Boot Fail при загрузке Acer — решение проблемы

Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…

3 недели ago

Ноутбук не включается — варианты решения

Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…

3 недели ago

The AC power adapter wattage and type cannot be determined — причины и решение

The AC power adapter wattage and type cannot be determined — причины и решение При…

3 недели ago

Свистит или звенит блок питания компьютера — причины и решения

Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…

3 недели ago

Мигает Caps Lock на ноутбуке HP — почему и что делать?

Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…

3 недели ago