/ / Geek School: PowerShellin käyttäminen tietokoneiden tietojen hankkimiseen

Geek-koulu: PowerShellin käyttäminen tietokoneiden tietojen hankkimiseen

WMI: tä ja sen uudempaa veljeä CIM: ää voidaan käyttää hallitsemaan Windows-koneita ympäristössäsi. Mutta tiedätkö ero niiden välillä? Liity mukaan katsomme.

Muista lukea sarjan aiemmat artikkelit:

  • Opi kuinka automatisoida Windows PowerShellin avulla
  • Cmdlettien käytön oppiminen PowerShellissä
  • Objektien käytön oppiminen PowerShellissä
  • Alustuksen, suodattamisen ja vertailun oppiminen PowerShellissä
  • Opi käyttämään etäkäyttöä PowerShellissä

Ja pysy kuulolla koko viikon ajan.

esittely

WMI on Windows Management Instrumentation. Sana ”Instrumentaatio” viittaa siihen, että WMI antaa sinun saada tietoja tietokoneesi sisäisestä tilasta, aivan kuten auton kojelaudassa olevat instrumentit voivat hakea ja näyttää tietoja auton sisäisten komponenttien tilasta.

WMI koostuu arkistosta, joka sisältääluokat, jotka edustavat komponentteja, joita voidaan hallita koneesi sisällä. Tällä tarkoitamme vain sitä, että WMI: llä on Win32_Battery-luokka, se ei tarkoita, että koneessasi on akku. Nämä luokat voidaan sitten kysyä paikallisesti tai jopa verkon kautta, käyttämällä kyselykieltä, joka on hyvin samanlainen kuin SQL nimeltään WQL. WMI: n on kuitenkin tiedetty olevan erittäin epäluotettava, lähinnä sen takia, että se perustuu RPC: hen (Remote Procedure Call), joka tekee hulluja asioita niiden porttien kanssa, joissa he valitsevat kommunikoidakseen.

Windows 8 ja Server 2012 alkaen WMI onlopetetaan asteittain yhteisen tietomallin tai CIM: n hyväksi. Ainoa ero WMI: n ja CIM: n välillä on heidän käyttämät kuljetusprotokollat. WMI suorittaa kyselyjä Remote Procedure Call -sovellusten avulla, mutta CIM käyttää HTTP: tä, jolla näyttää olevan valtava ero. Taustalla he puhuvat edelleen samaan tietovarastoon.

WMI: n käyttö

Nopein ja helpoin tapa tutkiaWMI: n kautta käytettävissä olevat tiedot on kopioida ilmainen WMI-objektiselain. Pidämme tästä. Kun se on ladattu, ota se käyttöön ja sinulla on graafinen käyttöliittymä selataksesi WMI-luokkia.

kuva

Jos haluat tietää jotain tietokoneen levykonfiguraatiosta, paina Ctrl + F-näppäimistöyhdistelmää avataksesi hakukentän, kirjoita sitten “loginen levy” ja paina enter.

kuva

Heti tämä vie sinut luokkaan Win32_LogicalDisk.

kuva

Sovelluksen alaosassa voit nähdä, että meillä on kaksi luokan esiintymää.

kuva

Kun meillä on etsimäsi luokka, kysymme sitä PowerShellistä suoraan eteenpäin.

Get-WmiObject -Kysely “SELECT * FROM Win32_LogicalDisk”

kuva

En ole nähnyt sitä syntaksia hetkeksi ihmisten kanssa, jotka mieluummin käyttävät uutta parametroitua syntaksia.

Get-WmiObject - luokka Win32_LogicalDisk

kuva

Jos haluat saada tietoja toiselta verkon tietokoneelta, voit käyttää ComputerName-parametria.

Get-WmiObject -Luokka Win32_LogicalDisk -TietokoneNimi Viper - Valtuutettu viperadministraattori

kuva

CIM: n käyttö

Kun pidät mielessä, että CIM on saatavana vain Windows 8: lla ja Server 2012: lla, tämä on ehdottomasti tapa edetä.

Get-CimInstance –ClassName Win32_LogicalDisk

kuva

Välilehti suoritetaan loppuun myös -ClassName-parametrille, kun käytetään Get-CimInstance-sovellusta, mikä osoittaa, että eteenpäin tähän kohtaan Microsoft pyrkii keskittymään.

Itse asiassa WMI on kehitetty kokonaanerillinen tiimi Microsoftin sisällä, mutta sen jälkeen PowerShellistä vastaavat ihmiset ovat ottaneet sen haltuunsa. He huomasivat, että WMI: n jäljellä olevan sotkun puhdistaminen on erittäin vaikeaa. Yrittääkseen tilanteen korjaamisen he yrittävät tehdä WMI: n ja CIM: n saatavuudeksi kirjoittamalla WMI: tä ja CIM: ää käyttävät kääre cmdlet-koneet konepellin alle. Ainoa tapa tarkistaa, onko cmdlet kääre, on tarkastella asiakirjoja. Esimerkiksi Get-Hotfix-cmdlet on kääre Win32_QuickFixEngineering-luokalle, kuten asiakirjoista käy ilmi.

kuva

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

Get-HotFix –TietokoneNimi paikallinen palvelin

kuva

Joten siellä se on. Muista vain, että jos siellä on erillinen cmdlet, sinun on aina käytettävä sitä, jota seuraa CIM, jos cmdletiä ei ole. Lopuksi, jos kaikki muu epäonnistuu tai jos ympäristössäsi on vanhempia koneita, haluat käyttää WMI: tä. Se on kaikki mitä minulla on tällä kertaa. Nähdään huomenna lisää PowerShell-hauskaa.