27Aug
WMI ja selle uuem vend CIM-i saab mõlemad kasutada teie Windowsi masinate haldamiseks teie keskkonnas. Kuid kas teate nende vahelist erinevust? Liitu meiega, kui vaatame.
Kindlasti loe eelnevaid sarja artikleid:
- Õppige Windowsi automatiseerimine PowerShelli
- -ga Õppige kasutama PowerShelli kujundeid
- Õppige PowerShellis objekte kasutama
- PowerShelli õpivormimine, filtreerimine ja võrdlemine
- Õppige kasutama Remotingi kasutamistPowerShell
ja jääge häälestatuks ülejäänud sarja kogu nädala jooksul.
Sissejuhatus
WMI tähistab Windowsi juhtimisseadet. Sõna "mõõteriistad" viitab sellele, et WMI võimaldab teil saada teavet oma arvuti sisemise seisukorra kohta, nagu teie auto armatuurlaudade vahendid, saate teavet oma autode sisemiste komponentide seisundist.
WMI koosneb hoidlast, mis sisaldab klasse, mis esindavad komponente, mida saaks teie arvutis hallata. Sellega me mõtleme lihtsalt sellepärast, et WMI-l on Win32_Battery klass, ei tähenda, et teie masin sisaldab aku. Seejärel saab neid klasse küsida kohalikult või isegi kogu võrgu kaudu, kasutades päringukeele, mis on väga sarnane SQL-ile nimega WQL.Kuid WMI on teadaolevalt väga ebausaldusväärne, enamasti tänu sellele, et see põhineb RPC-il( Remote Procedure Calls), mis teevad mõned hullumeelsed asjad nende portidega, mida nad suhtlevad.
Alates Windows 8 ja Server 2012-st on WMI kasutusel järk-järgult ühise infomudeli või CIM-i kasuks. Ainus erinevus WMI ja CIM vahel on transpordiprotokollid, mida nad kasutavad. Kuigi WMI täidab kaugprotseduurikõnede abil päringuid, kasutab CIM HTTP-d, mis tundub olevat tohutu erinevus. Taustaprogrammis räägitakse ikka veel sama teabe hoidlasse.
WMI-i kasutamine
Kiirem ja lihtsaim viis WMI-le juurdepääsu võimaldava teabe uurimiseks on hankida tasuta WMI Objektibrauseri koopia. Meile meeldib see üks. Kui olete allalaaditud, laske sellel üles ja WMI-klasside sirvimiseks on teil graafiline liides.
Kui soovite teada saada arvuti plaadi konfiguratsiooni kohta, vajutage Ctrl + F-klaviatuuri kombinatsiooni otsingukasti avamiseks, seejärel tippige "logical disk" ja vajutage sisestusklahvi.
Kohe võtab see teid Win32_LogicalDisk klassi.
Rakenduse alumisel poolel näete, et meil on klassi kaks eksemplari.
Kui meil on klass, mida me otsime, on PowerShellilt päring läbi otse.
Get-WmiObject -Query "SELECT * FROM Win32_LogicalDisk"
Ma ei näinud seda süntaksi mõnda aega, kuna inimesed tänapäeval eelistavad kasutada uut parameeritud süntaksi.
Get-WmiObject-klass Win32_LogicalDisk
Kui soovite saada teavet oma võrgu teisest arvutist, võite lihtsalt kasutada parameetrit ComputerName.
Get-WmiObject -Klass Win32_LogicalDisk -ComputerName Viper -redense viper \ administraator
CIM
kasutamine Pidades silmas, et CIM on saadaval ainult operatsioonisüsteemides Windows 8 ja Server 2012, on see edasi liikumine kindlasti ka minna.
Get-CimInstance-klassi nimi Win32_LogicalDisk
Seadmel Get-CimInstance on ka vahekaardi lõpuleviimine parameetri -ClassName kohta, mis näitab, et Microsofti jõupingutused on sihitud.
Tegelikult arendas WMI Microsofti poolt täiesti eraldi meeskonda, kuid hiljem võtsid üle PowerShelli eest vastutavad inimesed. Nad olid need, kes märkasid, et WMI-ga seonduva segaduse korvamiseks on väga raske. Selle olukorra parandamiseks üritavad nad WMI-d ja CIM-i muuta kättesaadavaks, kirjutades ümbrisprofiili cmdletti, mis kasutavad WMI-d ja CIM-i kapoti all. Ainus võimalus kontrollida, kas käsiraamat on ümbris, vaadake dokumentatsiooni. Näiteks Get-Hotfixi käsiraamat on Win32_QuickFixEngineering-klassi ümbris, nagu see on dokumentatsioonis näha.
See tähendab, et saate kiirparandusi kaugarvutitel, kasutades WMI-päringu asemel Get-HotFix'i cmdletti.
Get-HotFix -ComputerName localhost
Nii et teil on see. Pidage meeles, et kui on olemas spetsiaalne cmdlet, siis soovid seda alati kasutada, CIM-i järel peaks cmdlet puuduma. Lõpuks, kui kõik muu ebaõnnestub või kui teie keskkonnas on vanemad masinad, soovite WMI-d kasutada. See on kõik, mis mul praegu on. Näeme homme veel PowerShelli lõbu eest.