27Aug

Geek School: Uporaba PowerShell za pridobivanje informacij o računalniku

WMI in njegov novi brat CIM se lahko uporabljata za upravljanje naprav Windows v vašem okolju. Ali poznate razliko med njimi? Pridružite se nam, ko pogledamo.

Prosimo, da preberete prejšnje članke v seriji:

  • Več o tem, kako avtomatizirati Windows z PowerShellom
  • Učenje za uporabo Cmdlets v PowerShellu
  • Učenje Kako uporabljati predmete v PowerShellu
  • Oblikovanje, filtriranje in primerjanje učenja v programu PowerShell
  • Naučite se uporabljati remoting vPowerShell

In ostanite nastavljeni za preostanek serije ves teden.

Uvod

WMI predstavlja orodje Windows Management Instrumentation. Beseda "Instrumentation" se nanaša na dejstvo, da vam WMI omogoča pridobivanje informacij o notranjem stanju vašega računalnika, podobno kot instrumenti armaturne plošče v vašem avtomobilu, ki jih lahko naložite in prikažejo informacije o stanju notranjih komponent vaših avtomobilov.

WMI je sestavljen iz repozitorija, ki vsebuje razrede, ki predstavljajo komponente, ki jih je mogoče upravljati znotraj vašega računalnika. S tem mislimo samo zato, ker ima WMI razred Win32_Battery ne pomeni, da vaš računalnik vsebuje baterijo. Te razrede lahko nato poizvedujete za informacije lokalno ali celo prek omrežja z jezikom poizvedbe, ki je zelo podoben SQL, imenovanemu WQL.Vendar je bilo znano, da je WMI zelo nezanesljiv, predvsem zaradi dejstva, da temelji na RPC( Remote Procedures Calls), ki naredi nekaj norih stvari s pristanišči, za katera se odločijo, da komunicirajo.

Od operacijskega sistema Windows 8 in Server 2012 se WMI postopoma ukinja v korist skupnega informacijskega modela ali kratkega CIM.Edina razlika med WMI in CIM je prometni protokol, ki ga uporabljajo. Medtem ko WMI opravlja poizvedbe z uporabo oddaljenih procedurnih klicev, CIM uporablja HTTP, kar se zdi velika razlika. Na hrbtni strani se še vedno pogovarjata z istim odlagališčem informacij.

Uporaba WMI

Najhitrejši in najpreprostejši način za raziskovanje informacij, ki so vam na voljo prek WMI, je, da zgrabite kopijo brezplačnega brskalnika predmetov WMI.To nam je všeč.Ko jo prenesete, ga sprožite in imeli boste grafični vmesnik za brskanje po razredih WMI.

sliko

Če želite izvedeti nekaj o konfiguraciji diska računalnika, pritisnite kombinacijo tipk Ctrl + F, da odprete iskalno polje, nato vnesite "logični disk" in pritisnite enter.

sliko

Takoj vas bo vodil v razred Win32_LogicalDisk.

sliko

V spodnji polovici aplikacije lahko vidite, da imamo dva primerka razreda.

sliko

Ko imamo razred, ki ga iščemo, ga poizvedujemo iz PowerShell-a, naravnost naprej.

Get-WmiObject -Kliknite "SELECT * FROM Win32_LogicalDisk"

sliko

To sintakso nisem že videl z ljudmi, ki so v teh dneh raje uporabili novo parameterizirano sintakso.

Get-WmiObject -Class Win32_LogicalDisk

sliko

Če želite podatke pridobiti iz drugega računalnika v omrežju, lahko preprosto uporabite parameter ComputerName.

Get-WmiObject -Class Win32_LogicalDisk-ComputerName Viper -Credential viper \ skrbnik

sliko

Uporaba CIM

Upoštevajoč, da je CIM na voljo samo v operacijskih sistemih Windows 8 in Server 2012, je to korak naprej.

Get-CimInstance -ClassName Win32_LogicalDisk

sliko

Ob uporabi tabele -ClassName je tudi uporaba končnega zavihka pri uporabi programa Get-CimInstance, kar kaže na to, da gre naprej, kjer bo usmerjena prizadevanja Microsofta.

Pravzaprav je WMI razvil povsem ločena ekipa znotraj Microsofta, nato pa so jo prevzeli ljudje, ki so bili odgovorni za PowerShell. Bili so tisti, ki so opazili, da bo zelo težko očistiti nenavadnega WMI.Da bi odpravili situacijo, poskušajo WMI in CIM postati bolj dostopni s pisanjem cmdletov, ki uporabljajo WMI in CIM pod pokrovom. Edini način, kako preveriti, ali je cmdlet ovoj, je pregledovanje dokumentacije. Na primer, cmdlet Get-Hotfix je ovitka za razred Win32_QuickFixEngineering, kot je razvidno iz dokumentacije.

sliko

To pomeni, da lahko hitre popravke dobite na oddaljenih računalnikih z uporabo cmdleta Get-HotFix namesto WMI Query.

Get-HotFix-LocalhostName localhost

sliko

Torej, imate ga. Samo zapomnite si, da če imate namenski cmdlet, ga boste vedno želeli uporabiti, sledi CIM, če ne obstaja cmdlet. Nazadnje, če vse ostane neuspešno ali imate starejše naprave v vašem okolju, boste želeli uporabljati WMI.To je vse kar imam za ta čas. Se vidimo jutri, če želiš več zabave PowerShell.