Geek kool, mis kasutab PowerShelli arvutiteabe saamiseks
WMI-d ja selle uuemat venda CIM-i saab kasutada Windowsi masinate haldamiseks teie keskkonnas. Aga kas sa tead nende vahe? Liitu meiega, kui me vaatame.
Lugege kindlasti seeria eelmisi artikleid:
- Lugege, kuidas Windowsi PowerShelli abil automatiseerida
- Õppimine kasutama Cmdleti PowerShellis
- Õppimine, kuidas kasutada objekte PowerShellis
- Vormindamine, filtreerimine ja võrdlemine PowerShellis
- Õpi kasutama Remotingit PowerShellis
Ja hoia ülejäänud sarja jaoks terve nädal.
Sissejuhatus
WMI tähistab Windows Management Instrumentationit. Sõna „Instrumentation” viitab asjaolule, et WMI võimaldab teil saada teavet arvuti sisemise oleku kohta, sarnaselt autos asuvatele armatuurlaua vahenditele saab autode sisekomponentide kohta teavet hankida ja kuvada.
WMI koosneb hoidlast, mis sisaldab klasse, mis esindavad komponente, mida teie seadmes saaks hallata. See tähendab, et WMI-l on Win32_Battery klass, mis ei tähenda, et teie seade sisaldab akut. Neid klasse saab seejärel küsida informatsiooni kohta lokaalselt või isegi üle võrgu, kasutades päringu keelt, mis on väga sarnane SQL nimega WQL. WMI on aga teadaolevalt väga ebausaldusväärne, peamiselt tänu sellele, et see põhineb RPC-l (Remote Procedure Calls), mis teeb mõningaid hullumeelsusi sadamates, mille nad soovivad suhelda.
Alates Windows 8-st ja Server 2012-st loobutakse WMI-st järk-järgult ühise infomudeli või CIM-i kasuks. Ainus erinevus WMI ja CIM vahel on nende kasutatavad transpordiprotokollid. Kuigi WMI täidab päringuid kaugprotseduurikõnede abil, kasutab CIM HTTP-d, mis näib olevat tohutu erinevus. Taustal räägivad nad endiselt sama informatsiooni hoidlast.
WMI kasutamine
Kiireim ja lihtsaim viis WMI kaudu teie käsutuses oleva teabe uurimiseks on iga vaba WMI objektibrauseri kopeerimine. Meile meeldib see. Pärast allalaadimist tule see üles ja teil on graafiline liides WMI klasside sirvimiseks.
Kui soovite arvuti ketaskonfiguratsiooni kohta midagi teada saada, vajutage otsingukasti avamiseks klahvikombinatsiooni Ctrl + F, seejärel tippige „logicaldisk” ja vajutage enter.
See viib teid kohe Win32_LogicalDisk klassi.
Rakenduse allosas näete, et meil on kaks klassi eksemplari.
Kui meil on klass, mida me otsime, küsitakse seda otse PowerShellilt.
Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”
Ma pole seda süntaksit mõnda aega näinud inimestega, kes eelistavad kasutada uut parameetrilist süntaksit.
Get-WmiObject-klass Win32_LogicalDisk
Kui soovite saada teavet teisest arvutist arvutis, saate lihtsalt kasutada parameetrit ComputerName.
Get-WmiObject-klass Win32_LogicalDisk -arvuti nimi Viper -Väärtuslik viper
Kasutades CIM-i
Pidades meeles, et CIM on saadaval ainult Windows 8 ja Server 2012 puhul, on see edasi liikumine.
Get-CimInstance -ClassName Win32_LogicalDisk
Parameetri -ClassName parameetrile on saadaval ka vahekaart, mis näitab, et edasiminek on see, kus Microsofti jõupingutused keskenduvad.
Tegelikult töötas WMI välja Microsofti täiesti eraldi meeskonna poolt, kuid hiljem on need üle võtnud PowerShelli eest vastutavad inimesed. Nad olid need, kes märkasid, et on väga raske puhastada WMI tagaplaanile. Püüdes olukorda parandada, püüavad nad muuta WMI ja CIM rohkem kättesaadavaks, kirjutades ümbriku cmdletid, mis kasutavad WMI ja CIM kapoti all. Ainuke võimalus kontrollida, kas cmdlet on ümbris, on dokumentatsiooni vaadates. Näiteks on cmdlet Get-Hotfixi pakend Win32_QuickFixEngineering klassi jaoks, nagu on näha dokumentatsioonis.
See tähendab, et saate kaugtööriistade käigultparandused saada WMI Query asemel cmdlet Get-HotFixi abil.
Get-HotFix -arvuti nimi localhost
Nii et teil on see. Pea meeles, et kui on olemas spetsiaalne cmdlet, siis soovid seda alati kasutada, millele järgneb CIM, kui cmdlet ei ole olemas. Lõpuks, kui kõik muu ebaõnnestub või kui teie keskkonnas on vanemaid masinaid, siis soovite kasutada WMI-d. See on kõik, mis mul selleks ajaks on. Vaadake teid homme rohkem PowerShelli lõbutsemiseks.