Obavezno pročitajte prethodne članke serije:
- Saznajte kako automatizirati sustav Windows pomoću programa PowerShell
- Učenje pomoću Cmdletsa u PowerShellu
- Učenje kako koristiti objekte u PowerShellu
- Oblikovanje učenja, filtriranje i uspoređivanje u PowerShellu
- Saznajte kako koristiti Remoting u PowerShellu
I ostanite u tijeku cijele serije cijeli tjedan.
Uvod
WMI označava Windows Instrumentation za upravljanje. Riječ "Instrumentacija" odnosi se na činjenicu da vam WMI omogućuje da dobijete informacije o internom stanju vašeg računala, slično kao što su instrumenti instrumentalne ploče u vašem automobilu mogu dohvatiti i prikazati informacije o stanju internih komponenti vaših automobila.
WMI se sastoji od skladišta koji sadrži klase koje predstavljaju komponente koje se mogu upravljati unutar vašeg stroja. Ovime mislimo samo zato što WMI ima klase Win32_Battery ne znači da vaš stroj sadrži bateriju. Ove klase se zatim mogu upitati lokalno ili čak preko mreže pomoću jezika upita vrlo sličnog SQL-u nazvanom WQL. Međutim, WMI je poznato da je vrlo nepouzdano, uglavnom zbog činjenice da se temelji na RPC (Remote Procedure Call), koji čine neke lude stvari s lukama na kojima su odlučili komunicirati.
Počevši od sustava Windows 8 i Server 2012, WMI se ukida u korist zajedničkog informacijskog modela ili CIM-a kratko. Jedina razlika između WMI-a i CIM-a jest transportni protokoli koji koriste. Dok WMI provodi upite pomoću daljinskog postupka, CIM koristi HTTP, što čini se da čini veliku razliku. U pozadini još uvijek razgovaraju s istim spremištem informacija.
Upotreba WMI-a
Najbrži i najjednostavniji način istraživanja informacija koje vam je dostupan putem WMI-ja je da zgrabite kopiju bilo kojeg WMI Object Browsera. Sviđa mi se ovo. Nakon preuzimanja, pokrenite ga i imat ćete grafičko sučelje za pregledavanje WMI klase.
Jednom kada imamo klasu koju tražimo, upita ga iz PowerShell-a je ravno naprijed.
Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”
Get-WmiObject –Class Win32_LogicalDisk
Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viperadministrator
Upotreba CIM-a
Imajući na umu da je CIM dostupan samo za sustave Windows 8 i Server 2012, kretanje naprijed to je svakako način na koji možete ići.
Get-CimInstance –ClassName Win32_LogicalDisk
U stvari, WMI je razvio potpuno odvojeni tim unutar Microsofta, ali je naknadno preuzeto od strane ljudi koji su zaduženi za PowerShell. Oni su bili oni koji su primijetili da će biti vrlo teško očistiti zbrke WMI ostavljene iza sebe. U pokušaju da se otklone situacija, oni pokušavaju učiniti WMI i CIM dostupnima pisanjem cmdleta omotača koji koriste WMI i CIM ispod kapuljača. Jedini način da provjerite je li cmdlet omot je pogled na dokumentaciju. Na primjer, cmdlet Get-Hotfix je omot za klasu Win32_QuickFixEngineering, kako se vidi u dokumentaciji.
Get-HotFix –ComputerName localhost