Kotisivu » miten » Geek-koulu, joka käyttää PowerShellia tietokoneen tietoihin

    Geek-koulu, joka käyttää PowerShellia tietokoneen tietoihin

    WMI: tä ja sen uudempaa veljeä CIM voi käyttää sekä Windows-koneiden hallintaan ympäristössä. Mutta tiedätkö eroa niiden välillä? Liity meihin, kun katsomme.

    Muista lukea sarjan aiemmat artikkelit:

    • Opi automatisoimaan Windows PowerShellillä
    • Oppiminen käyttämään Cmdlet-tiedostoja PowerShellissä
    • Opi käyttämään esineitä PowerShellissä
    • Oppimisen muotoilu, suodatus ja vertailu PowerShellissa
    • Opi käyttämään Remotingia PowerShellissä

    Ja pysy kuulolla koko sarjan koko viikon ajan.

    esittely

    WMI tarkoittaa Windows Management Instrumentation -ohjelmaa. Sana "Instrumentointi" viittaa siihen, että WMI: n avulla voit saada tietoa tietokoneen sisäisestä tilasta, kuten autosi kojelauta-instrumentit voivat hakea ja näyttää tietoja autosi sisäisten osien tilasta..

    WMI koostuu arkistosta, joka sisältää luokkia, jotka edustavat komponentteja, joita voit hallita laitteessasi. Tällä tarkoitetaan vain siksi, että WMI: llä on Win32_Battery-luokka, ei tarkoita, että laitteessa on akku. Nämä luokat voidaan sitten kysyä informaatiolta paikallisesti tai jopa verkon kautta käyttämällä kyselykieliä, joka on hyvin samanlainen kuin SQL nimeltään WQL. WMI: n tiedetään kuitenkin olevan erittäin epäluotettava, lähinnä siksi, että se perustuu RPC: hen (Remote Procedure Calls), joka tekee joitakin hulluja asioita niiden satamien kanssa, joista he haluavat kommunikoida.

    Windows 8: sta ja Server 2012: stä lähtien WMI poistetaan käytöstä yleisen tietomallin tai CIM: n hyväksi. Ainoa ero WMI: n ja CIM: n välillä on niiden käyttämät kuljetusprotokollat. Vaikka WMI suorittaa kyselyjä etäkäytäntöpuhelujen avulla, CIM käyttää HTTP: tä, joka näyttää olevan valtava ero. Taustalla he puhuvat edelleen samasta tietovarastosta.

    WMI: n käyttäminen

    Nopein ja helpoin tapa tutustua WMI: n kautta käytettävissä oleviin tietoihin on kopioida ilmainen WMI Object Browser. Me pidämme tästä. Kun tiedosto on ladattu, voit tulostaa sen ja sinulla on graafinen käyttöliittymä WMI-luokkien selaamiseen.

    Jos haluat tietää jotain tietokoneen levykonfiguraatiosta, paina Ctrl + F -näppäimistöyhdistelmää avataksesi hakukentän ja kirjoita sitten "logicaldisk" ja paina enter-näppäintä..

    Heti tämä vie sinut Win32_LogicalDisk-luokkaan.

    Sovelluksen alaosassa näet, että meillä on kaksi luokkaa.

    Kun meillä on luokkamme, jota etsimme, kysely sitä PowerShelliltä on suoraan eteenpäin.

    Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”

    En ole nähnyt tätä syntaksia jonkin aikaa ihmisten kanssa näinä päivinä mieluummin käyttää uutta parametrisoitua syntaksi.

    Get-WmiObject-luokka Win32_LogicalDisk

    Jos haluat saada tiedot toisesta verkon tietokoneesta, voit käyttää ComputerName-parametria.

    Get-WmiObject-luokka Win32_LogicalDisk -tietokoneen nimi Viper -valtuutettu viperi \ t

    Käyttämällä CIM

    Pidä mielessä, että CIM on käytettävissä vain Windows 8: ssa ja Server 2012: ssä, eteenpäin siirtyminen on varmasti tie.

    Get-CimInstance -ClassName Win32_LogicalDisk

    -ClassName-parametri on myös välilehdellä, kun käytät Get-CimInstancea..

    Itse asiassa WMI: n on kehittänyt täysin erillinen tiimi Microsoftissa, mutta sen jälkeen PowerShellin vastuuhenkilöt ovat ottaneet ne käyttöön. He olivat niitä, jotka huomasivat, että on hyvin vaikeaa puhdistaa WMI: n jälkeinen sotku. Tilanteen korjaamiseksi he yrittävät tehdä WMI: n ja CIM: n entistä helpommin kirjoittamalla kääreissä olevat cmdletit, jotka käyttävät WMI: tä ja CIM: ää hupun alla. Ainoa tapa tarkistaa, onko cmdlet kääre, katsomalla dokumentaatiota. Esimerkiksi Get-Hotfix-cmdlet on Win32_QuickFixEngineering-luokan kääre, kuten dokumentaatiosta käy ilmi..

    Tämä tarkoittaa, että voit saada hotfix-korjaukset etäkoneissa käyttämällä WMI-kyselyn sijasta Get-HotFix-cmdlet-sovellusta.

    Get-HotFix -tietokoneen nimi localhost

    Joten sinulla on se. Muista, että jos sinulla on oma cmdlet, haluat aina käyttää sitä, CIM: n jälkeen, jos cmdlet ei ole olemassa. Lopuksi, jos kaikki muu epäonnistuu tai sinulla on ympäristössä vanhempia koneita, haluat käyttää WMI: tä. Se on kaikki, mitä minulla on tähän aikaan. Nähdään huomenna lisää PowerShellin hauskaa.