Для расстановки специализированного ПО на все переносные устройства компании потребовалась необходимость построения группы компьютеров или SCCM коллекции, которая бы включала в себя все ноутбуки (и другие переносные мобильные системы), работающие в корпоративной сети. Задача оказалась не так проста, как кажется на первый взгляд. Мне сразу не удалось найти свойство системы, которое бы однозначно определяло компьютер как ноутбук или десктоп.
Для начала попробовал отфильтровать мобильные компьютеры с помощью WMI фильтров GPO , и назначить на них установку ПО с помощью групповых политик . Было несколько вариантов составления WMI запросов путем проверки:
SELECT * FROM Win32_Battery WHERE (BatteryStatus <> 0)
Select * from Win32_PhysicalMemory WHERE (FormFactor = 12
) 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 | Тип системы |
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:
Итоговый 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.
Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…
Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…
Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…
The AC power adapter wattage and type cannot be determined — причины и решение При…
Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…
Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…