Muista lukea sarjan aiemmat artikkelit:
- Opi käyttämään automaattista Windowsia PowerShellillä
- Learning käyttämään Cmdlets PowerShellissä
- Oppiminen esineiden käyttämisessä PowerShellissä
- Oppimisen muotoilu, suodatus ja vertailu PowerShellissä
- Opi käyttämään etäisyyttä PowerShellissä
Ja pysy kuulolla koko sarjan koko viikon ajan.
esittely
WMI tarkoittaa Windows Management Instrumentationia. Sanalla "Instrumentation" viitataan siihen, että WMI: n avulla voit saada tietoja tietokoneen sisäisestä tilasta, aivan kuten auton kojelauta-instrumentit voivat hakea ja näyttää tietoja autonsa sisäisistä osista.
WMI koostuu arkistosta, joka sisältää luokkia, jotka edustavat komponentteja, joita voidaan hallita koneessasi. Tällä tarkoitamme vain sitä, että WMI: llä on Win32_Battery-luokka, ei tarkoita sitä, että koneessa on akku. Näitä luokkia voidaan sitten kysellä paikallisesti tai jopa koko verkon kautta käyttämällä kyselykieltä, joka on hyvin samanlainen kuin WQL: n SQL-käsite. WMI: n tiedetään kuitenkin olevan erittäin epäluotettava, mikä johtuu pääasiassa siitä, että se perustuu RPC: hen (Remote Procedure Calls), jotka tekevät joitain hulluja asioita niiden satamien kanssa, joista he haluavat kommunikoida.
Alkaen Windows 8 ja Server 2012, WMI poistuu asteittain yhteisen tietomallin tai CIM lyhyen. Ainoa ero WMI: n ja CIM: n välillä on niiden käyttämät kuljetusprotokollat. Vaikka WMI suorittaa kyselyt Remote Procedure Call -toiminnon avulla, CIM käyttää HTTP: tä, joka vaikuttaa vaikuttavan valtavasta erosta. Taustalla ne puhuvat edelleen samaan tietovarastoon.
WMI: n käyttäminen
Nopein ja helpoin tapa tutustua WMI: n kautta käytettävissä oleviin tietoihin on napata kopio kaikista vapaista WMI Object Browserista. Pidämme tästä. Kun olet ladannut, käynnistä se ja sinulla on graafinen käyttöliittymä selata WMI-luokkia.
Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”
Get-WmiObject –Class Win32_LogicalDisk
Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viperadministrator
Käytä CIM: tä
Muista, että CIM on käytettävissä vain Windows 8: ssa ja Server 2012: ssa, eteenpäin tämä on ehdottomasti tapa lähteä.
Get-CimInstance –ClassName Win32_LogicalDisk
Itse asiassa WMI on kehittänyt täysin erillinen tiimi Microsoftissa, mutta PowerShellin vastuulla olevat ihmiset ovat sen jälkeen ottaneet sen vastaan. He olivat niitä, jotka huomasivat, että on vaikea puhdistaa WMI: n jäljessä olevaa sotkua. Yritettäessä korjata tilannetta he yrittävät tehdä WMI: stä ja CIM: stä enemmän saatavissa kirjoittamalla kääreen cmdletteja, jotka käyttävät WMI: tä ja CIM: tä huuvan alle. Ainoa tapa tarkistaa, onko cmdlet kääre on tarkastelemalla dokumentaatiota. Esimerkiksi Get-Hotfix-cmdlet on Win32_QuickFixEngineering-luokan kääre, joka näkyy dokumentaatiossa.
Get-HotFix –ComputerName localhost