Būtinai perskaitykite ankstesnius serijos straipsnius:
- Sužinokite, kaip automatizuoti "Windows" su "PowerShell"
- Mokytis naudotis "PowerShell" kompiliacijomis
- Mokymasis naudoti objektus PowerShell
- Mokymosi formatavimas, filtravimas ir palyginimas PowerShell
- Sužinokite, kaip naudoti "Remoting" "PowerShell"
Ir visada sekite visą seriją likusiai savaitę.
Įvadas
WMI reiškia Windows valdymo įrankius. Žodis "Instrumentuotė" reiškia tai, kad WMI leidžia jums gauti informaciją apie valstybės vidaus kompiuterio, panašiai kaip prietaisų skydelio savo automobilį gali gauti ir pateikti informaciją apie jūsų automobilių vidinių komponentų būklę.
WMI susideda iš saugyklos, kurioje yra klasių, atstovaujančių komponentams, kurie gali būti valdomi jūsų kompiuteryje. Tai reiškia, kad tik todėl, kad WMI turi "Win32_Battery" klasę, nereiškia, kad jūsų kompiuteryje yra baterijos. Tada šios klasės gali būti užduodamos užklausai vietoje arba netgi per tinklą, naudojant užklausų kalbą, labai panašią į SQL vadinamą WQL. Tačiau WMI buvo labai nepatikimas, daugiausia dėl to, kad jis grindžiamas RPC (nuotolinės procedūros skambučiais), kurie kai kuriuos uostus nori bendrauti.
Pradedant nuo "Windows 8" ir "Server 2012", WMI palaipsniui atsisakoma bendro informacinio modelio arba CIM pranašumo. Vienintelis skirtumas tarp WMI ir CIM yra transporto protokolai, kuriuos jie naudoja. Nors WMI atlieka užklausas naudodamas nuotolinius procedūrų skambučius, CIM naudoja HTTP, o tai, atrodo, daro didelį skirtumą. Dakte jie vis dar kalba su ta pačia informacijos saugykla.
WMI naudojimas
Greičiausias ir lengviausias būdas ištirti WMI naudojamą informaciją yra patraukti bet kokio nemokamo WMI objekto naršyklės kopiją. Mums tai patinka. Kai atsisiųsite, išverskite jį ir turėsite grafinę sąsają, kad galėtumėte naršyti WMI klases.
Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”
Get-WmiObject –Class Win32_LogicalDisk
Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viperadministrator
CIM naudojimas
Atsižvelgiant į tai, kad CIM yra pasiekiama tik "Windows 8" ir "Server 2012" versijose, tai yra neabejotinai kelias.
Get-CimInstance –ClassName Win32_LogicalDisk
Iš tiesų WMI buvo sukurta visiškai atskira komanda "Microsoft", tačiau vėliau ją perėmė žmonės, atsakingi už "PowerShell". Jie buvo tie, kurie pastebėjo, kad bus labai sunku išvalyti netvarkingą WMI palikimą. Siekdami ištaisyti padėtį, jie bando dar labiau susipažinti su WMI ir CIM, rašydami paketų cmdletus, naudojančius WMI ir CIM po gaubtu. Vienintelis būdas patikrinti, ar cmdlet yra aplankas yra žiūrint į dokumentus. Pavyzdžiui, "Get-Hotfix" cmdlet yra "Win32_QuickFixEngineering" klasės aplinka, kaip matyti iš dokumentacijos.
Get-HotFix –ComputerName localhost