Zahteva SCCM / WMI za pridobivanje vseh prenosnikov v domeni

Za ureditev specializirane programske opreme za vse prenosne naprave podjetja je bilo potrebno sestaviti skupino računalnikov ali zbirk SCCM, ki bi vključevala vse prenosnike (in druge prenosne mobilne sisteme), ki delujejo v podjetniškem omrežju. Naloga ni bila tako preprosta, kot se zdi na prvi pogled. Takoj nisem mogel najti sistemske lastnosti, ki bi enolično identificirala računalnik kot prenosnik ali namizje.

Za začetek sem poskusil filtrirati mobilne računalnike s pomočjo WMI GPO filtrov in jim dodeliti namestitev programske opreme s pomočjo skupinskih pravilnikov. Obstaja več možnosti za vložitev zahtevkov WMI s preverjanjem:

  • stanje baterije (samo prenosniki): IZBERITE * IZ Win32_Batertery WHERE (BatteryStatus 0)
  • vrsta RAM-a (SODIMM za prenosnike): Izberite * iz Win32_PhysicalMemory WHERE (FormFactor = 12))
  • Lastnosti PCSystemType: IZBERITE * IZ Win32_ComputerSystem WHERE PCSystemType = 2

Opomba. Možne vrednosti za PCSystemType

VrednostVrsta sistema
0Neopredeljeno
1Namizje
2Mobilni
3Delovna postaja
4Enterprise strežnik
5Mali strežnik in strežnik domačih pisarn (SOHO)
6Naprava pc
7Performance server
8Največ

Vsaka od predlaganih poizvedb ima svoje prednosti in slabosti. Najbolj pravilna ideja bi morala biti filtriranje po vrednosti PCSystemType, toda, žal, ta razred se je pojavil samo v Visti, še vedno pa imamo kar nekaj računalnikov z zastarelim Windows XP, ki jih takšna zahteva ne bo filtrirala.

Bolj zanimiva se mi je zdela zahteva WMI za določitev tipa podvozja (Tipi šasije), vsebovan v razredu Win32_SystemEnclosure:

Možne vrednosti Tipi šasije so podani v tabeli:

Vrednost ChassisTypesVrsta sistema
1Drugo
2Neznano
3Namizje (vključno z virtualnimi stroji)
4Nizko profilno namizje
5Škatla za pice
6Mini stolp
7Stolp
8Prenosni
9Prenosni računalnik
10Beležnica
11Ročno
12Priključna postaja
13Vse v enem
14Pod zvezek
15Prihranek prostora
16Škatla za kosilo
17Glavno sistemsko podvozje
18Podaljšek šasije
19Podvozje
20Šasija za razširitev avtobusa
21Periferno podvozje
22Šasija za shranjevanje
23Šasija za pritrditev na stojalo
24Plombiran kovček pc

Torej, pomen vrst šasije je:

  • za prenosnike: 8, 9, 10, 11, 12, 14, 18, 21
  • za namizja: 3, 4, 5, 6, 7, 15, 16
  • za strežnike: 17.23

Nastala zahteva WMI bo takšna

izberite * iz Win32_SystemEnclosure, kjer ChassisTypes = "8" ali ChassisTypes = "9" ali ChassisTypes = "10" ali ChassisTypes = "11" ali ChassisTypes = "12" ali ChassisTypes = "14" ali ChassisTypes = "18" ali ChassisTypes = " 21 "

Ta WMI filter je mogoče enostavno pretvoriti v zahtevo SCCM, kar vam omogoča, da sestavite zbirko, ki vključuje vse prenosnike v omrežju.

izbrati SMS_R_SYSTEM.ResourceID, SMS_R_SYSTEM.ResourceType, SMS_R_SYSTEM.Name, SMS_R_SYSTEM.SMSUniqueIdentifier, SMS_R_SYSTEM.ResourceDomainORWorkgroup, SMS_R_SYSTEM.Client iz SMS_R_System notranjo pridružitev SMS_G_System_SYSTEM_ENCLOSURE na SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId kadar
SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ("8", "9", "10", "11", "12", "14", "18", "21")

In končno, da vizualno predstavite podatke o količinskem razmerju namiznih in prenosnih računalnikov v omrežju, lahko sestavite poročilo SCCM:

IZBERI
CASE ChassisTypes0
KDAJ '8' THEN 'Notebooks'
KDAJ "9" TEK "Beležnice"
KDAJ "10" TEK "Beležnice"
KDAJ "11" TAKO "Prenosni računalniki"
KDAJ "12" TEK "Beležnice"
KDAJ "14" TAKO "Prenosni računalniki"
KDAJ '18' THEN 'Notebooks'
ELSE 'Namizni računalniki'
KRAJ KOT "Vrsta delovne postaje", štejte (različno sys.name0) kot ClientCount od
v_GS_SYSTEM_ENCLOSURE ENC
UNUTAR PRIDRUŽITE SE
v_R_System SYS ON ENC.ResourceID = SYS.ResourceID
KJE
sys.client0 = 1 IN sys.obsolete0 = 0 IN active0 = 1
SKUPINA PO
CASE ChassisTypes0
KDAJ '8' THEN 'Notebooks'
KDAJ "9" TEK "Beležnice"
KDAJ "10" TEK "Beležnice"
KDAJ "11" TAKO "Prenosni računalniki"
KDAJ "12" TEK "Beležnice"
KDAJ "14" TAKO "Prenosni računalniki"
KDAJ '18' THEN 'Notebooks'
ELSE 'Namizni računalniki'
Konec
NAROČITE Z 2 desc

V našem primeru je razmerje med namiznimi računalniki in prenosniki 2832 do 109.

Torej smo preučili, kako uporabiti atribut ChassisTypes razreda SystemEnclosure za izgradnjo zbirke SCCM ali ustvarjanje filtra WMI Group Policy, ki omogoča izbiro vseh prenosnikov v omrežju.