WMI i njegov noviji brat CIM mogu se koristiti za upravljanje Windows strojevima u vašem okruženju. Ali znate li razliku između njih? Pridružite nam se dok pogledamo.
Obavezno pročitajte prethodne članke u nizu:
- Saznajte kako automatizirati Windows pomoću programa PowerShell
- Učenje korištenja cmdleta u PowerShellu
- Učenje kako koristiti objekte u PowerShellu
- Učenje oblikovanja, filtriranja i usporedbe u PowerShell-u
- Naučite koristiti uklanjanje u PowerShellu
I pratite ostatak serije cijeli tjedan.
Uvod
WMI je kratica za Windows Management Instrumentation. Riječ "instrumentacija" odnosi se na činjenicu da vam WMI omogućava dobivanje informacija o unutarnjem stanju vašeg računala, slično kao što instrumenti nadzorne ploče u vašem automobilu mogu potražiti i prikazati podatke o stanju unutrašnjih komponenti vašeg automobila.
WMI se sastoji od spremišta koje sadržiklase koje predstavljaju komponente kojima bi se moglo upravljati u vašem računalu. Pod tim podrazumijevamo samo zato što WMI ima klasu Win32_Battery ne znači da vaš stroj sadrži bateriju. Te se klase zatim mogu upitati za informacije lokalno ili čak preko mreže koristeći jezik upita vrlo sličan SQL-u koji se zove WQL. Međutim, poznato je da je WMI vrlo nepouzdan, ponajviše zbog činjenice da se temelji na RPC-u (Pozivi na daljinski postupak), koji rade neke lude stvari s portovima o kojima odluče komunicirati.
Počevši od Windows 8 i Server 2012, WMI jepostupno se ukida u korist Zajedničkog informacijskog modela ili CIM-a. Jedina razlika između WMI i CIM su transportni protokoli koje koriste. Dok WMI izvodi upite pomoću udaljenih proceduralnih poziva, CIM koristi HTTP, što čini se da čini veliku razliku. Povratak još uvijek razgovara s istim spremištem informacija.
Korištenje WMI-ja
Najbrži i najjednostavniji način istraživanjainformacije koje su vam dostupne putem WMI-a su da uzmete kopiju bilo kojeg besplatnog WMI preglednika objekata. Sviđa nam se ovaj. Nakon preuzimanja aktivirajte ga i imat ćete grafičko sučelje za pregledavanje WMI klasa.
Ako želite saznati nešto o konfiguraciji diska na računalu, pritisnite kombinaciju tipkovnica Ctrl + F da biste otvorili okvir za pretraživanje, a zatim upišite "logicdisk" i pritisnite enter.
Odmah će vas ovo prevesti u klasu Win32_LogicalDisk.
Na donjoj polovici aplikacije možete vidjeti dvije instance klase.
Jednom kada dobijemo klasu koju tražimo, upit iz PowerShell-a izravno ide naprijed.
Get-WmiObject -Query "SELECT * IZ Win32_LogicalDisk"
Ovog dana nisam vidio tu sintaksu s ljudima koji bi radije koristili novu parametriziranu sintaksu.
Get-WmiObject - Klasa Win32_LogicalDisk
Ako želite dobiti informacije s drugog računala na vašoj mreži, jednostavno možete upotrijebiti parametar ComputerName.
Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Vredni viperadministrator
Korištenje CIM-a
Imajući u vidu da je CIM dostupan samo na Windows 8 i Server 2012, pomicanje prema naprijed ovo je definitivno put.
Get-CimInstance –ClassName Win32_LogicalDisk
Tu je i dovršavanje kartice za parametar –ClassName pri korištenju Get-CimInstance, što pokazuje da će napredak tome biti usmjeren na Microsoftove napore.
U stvari, WMI je potpuno razvijenodvojeni tim unutar Microsofta, ali kasnije su ga preuzeli ljudi zaduženi za PowerShell. Oni su primijetili da će biti vrlo teško očistiti nered koji je WMI ostavio. U pokušaju da isprave situaciju, pokušavaju WMI i CIM učiniti dostupnijima pišući omote cmdleta koji koriste WMI i CIM ispod haube. Jedini način provjere da li je cmdlet omotač je pregledavanje dokumentacije. Na primjer, cmdlet Get-Hotfix omotač je omotač za klasu Win32_QuickFixEngineering, kao što se vidi u dokumentaciji.
To znači da hitne popravke možete dobiti na udaljenim računalima pomoću cmdlet Get-HotFix umjesto WMI upita.
Get-HotFix - ComputerHame localhost
Dakle, tu ga imate. Sjetite se samo da ako postoji namjenski cmdlet, uvijek ćete ga htjeti koristiti, a slijedi CIM ako cmdlet ne postoji. Konačno, ako sve drugo ne uspije ili imate starije strojeve u svom okruženju, morat ćete koristiti WMI. To je sve što za sada imam. Vidimo se sutra za više PowerShell zabave.