/ / Geek škola: Korištenje PowerShell-a za dobivanje informacija o računalu

Geek škola: Korištenje PowerShell-a za dobivanje informacija o računalu

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.

slika

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.

slika

Odmah će vas ovo prevesti u klasu Win32_LogicalDisk.

slika

Na donjoj polovici aplikacije možete vidjeti dvije instance klase.

slika

Jednom kada dobijemo klasu koju tražimo, upit iz PowerShell-a izravno ide naprijed.

Get-WmiObject -Query "SELECT * IZ Win32_LogicalDisk"

slika

Ovog dana nisam vidio tu sintaksu s ljudima koji bi radije koristili novu parametriziranu sintaksu.

Get-WmiObject - Klasa Win32_LogicalDisk

slika

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

slika

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

slika

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.

slika

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

slika

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.