Die Verwaltung vieler mobiler Geräte in einem Unternehmensumfeld kann schnell unübersichtlich werden. Besonders dann, wenn man versucht, eine SCCM-Sammlung für alle Laptops zu erstellen, die Systemeigenschaften aber keine eindeutige Lösung bieten. Ich kenne das Problem: Es ist schwierig, Laptops zuverlässig von Desktop-PCs zu unterscheiden, ohne sie manuell zu taggen oder unübersichtliche Listen durchforsten zu müssen. Das Hauptproblem ist, dass Windows nicht immer eine einfache Filteroption bietet, insbesondere ältere Betriebssystemversionen wie XP, die neuere Klassen wie PCSystemType nicht unterstützen. Daher ist es ratsam, etwas Universelleres zu finden, wie beispielsweise die ChassisTypes in der Klasse Win32_SystemEnclosure, die den physischen Formfaktor des Geräts beschreiben.
Der Plan sieht folgendermaßen aus: Sie erstellen eine WMI-Abfrage basierend auf ChassisTypes, die Geräte in Desktop-PCs, Laptops und Server kategorisiert. Die Schwierigkeit besteht darin, dass diese Werte nicht immer eindeutig sind, sofern man die typischen Nummern für jeden Typ nicht kennt. Laptops haben beispielsweise häufig Werte wie 8, 9, 10, 11, 12, 14, 18 oder 21, die tragbaren Geräten, Notebooks oder ähnlichen Gehäusetypen entsprechen. Sie können also einen WMI-Filter erstellen, der nach diesen Werten filtert, und diesen dann in eine SCCM-Abfrage übersetzen, um die gezielte Ansprache von Laptops zu automatisieren. Das mag etwas ungewöhnlich klingen, funktioniert aber auf den meisten Hardware-Systemen und über verschiedene Betriebssystemversionen hinweg recht gut, solange die ChassisTypes- Informationen verfügbar und aktuell sind.
Verwendung von ChassisTypes in WMI-Filtern und SCCM-Sammlungen
Verwendung von WMI-Filtern für tragbare Geräte
- Öffnen Sie die Gruppenrichtlinienverwaltungskonsole (GPMC) und navigieren Sie zu WMI-Filtern. Hier können Sie einen neuen Filter erstellen, der die relevanten ChassisTypes überprüft.
- Verwenden Sie diese Abfrage,
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"die die meisten Laptop- und Notebook-Typen abdeckt. Bei einer Konfiguration funktionierte sie einwandfrei, aber wer weiß – manchmal werden die ChassisTypes- Informationen nicht korrekt angezeigt, insbesondere bei älterer Hardware oder in VM-Umgebungen.
Diese Art von Filter eignet sich gut, um Gruppenrichtlinienobjekte (GPOs) oder Skripte basierend auf Geräteformfaktoren einzuschränken, insbesondere in heterogenen Umgebungen. Für SCCM müssen Sie dies jedoch in eine Abfrage umwandeln, die für Sammlungsmitgliedschaften geeignet ist.
Erstellen einer SCCM-Gerätesammlung mithilfe des ChassisTypes-Attributs
- Im System Center Configuration Manager navigieren Sie zu Assets und Compliance und anschließend zu Gerätesammlungen.
- Wählen Sie „Neue Sammlung erstellen“ und fügen Sie eine Abfrageregel hinzu. Verwenden Sie diese Abfrage:
select SMS_R_SYSTEM. ResourceID, SMS_R_SYSTEM. Name, SMS_R_SYSTEM. SMSUniqueIdentifier 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") - Dieser Prozess verknüpft sich mit der ChassisTypes- Eigenschaft und filtert anhand bekannter Attributwerte alle Geräte außer Laptops oder tragbaren Geräten heraus.
Windows macht es einem natürlich unnötig schwer – aber eine „automatische“ Identifizierung ohne manuelle Kennzeichnung ist damit so gut wie möglich. Anschließend können Sie SCCM so konfigurieren, dass Software oder Richtlinien nur auf Ihren Notebooks und Tablets bereitgestellt werden. Das ist besonders praktisch bei der Verwaltung einer heterogenen Hardwareflotte.
Erstellung von Berichten für ein schnelles Laptop-zu-Desktop-Verhältnis
- Bei der Ausführung von SCCM-Berichten kann die SQL-Abfrage eine realistische Momentaufnahme liefern:
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 - So ist es übersichtlich und einfach, die Verhältnisse zu erkennen. Das angegebene Verhältnis in dem Beispiel lag bei etwa 2832 Desktop-PCs zu 109 Laptops, was einen deutlichen Unterschied darstellt.
Letztendlich ist die Nutzung des ChassisTypes -Attributs, so kompliziert es auch klingen mag, eine clevere Methode, um Laptops in einem Netzwerk zu identifizieren, insbesondere wenn die offensichtlicheren Eigenschaften nicht zuverlässig sind oder nicht unterstützt werden. Man muss sich lediglich die gängigen Werte merken und die Filter vorher testen, da die Informationen je nach Hardware und Betriebssystemversion variieren oder fehlen können.
Hoffentlich spart das jemandem ein paar Stunden. Es ist schon erstaunlich, wie viel einfacher das Leben werden kann, sobald man die Geräteidentifizierung verstanden hat.