Homepage » hogyan kell » Geek iskola a PowerShell segítségével számítógépes információkhoz

    Geek iskola a PowerShell segítségével számítógépes információkhoz

    A WMI és újabb testvére CIM egyaránt használható a Windows környezetének kezelésére. De tudod a különbséget közöttük? Csatlakozz hozzánk, amikor megnézzük.

    Ügyeljen arra, hogy olvassa el a sorozat korábbi cikkeit:

    • Ismerje meg, hogyan kell automatizálni a Windowsot a PowerShell segítségével
    • Tanulj meg a Cmdlet használatát a PowerShell-ben
    • Tanulj meg, hogyan kell használni az objektumokat a PowerShell-ben
    • Tanulási formázás, szűrés és összehasonlítás a PowerShell-ben
    • Ismerje meg a Remoting használatát a PowerShell-ben

    És hetekig tartsd a többi sorozatot.

    Bevezetés

    A WMI a Windows Management Instrumentation. Az „Instrumentation” szó arra a tényre utal, hogy a WMI lehetővé teszi, hogy információt szerezzen a számítógép belső állapotáról, hasonlóan az autó műszerfalának eszközeihez, hogy az autók belső alkatrészeiről információt kaphasson és jelenjen meg.

    A WMI olyan tárolóból áll, amely olyan osztályokat tartalmaz, amelyek a gépen belül kezelhető összetevőket jelentenek. Ez azt jelenti, hogy a WMI-nek van egy Win32_Battery osztálya, nem jelenti azt, hogy a készülék tartalmaz egy akkumulátort. Ezeket az osztályokat lekérdezhetjük helyi vagy akár hálózati hálózaton keresztül is, egy olyan lekérdezési nyelv használatával, amely nagyon hasonlít a WQL nevű SQL-hez. A WMI-ről azonban ismert, hogy nagyon megbízhatatlan, főként azért, mert az RPC-n (Távoli eljáráshívások) alapul, amely néhány őrült dolgot tesz az általuk választott portokkal kapcsolatban.

    A Windows 8-tól és a Server 2012-től kezdve a WMI-t a közös információs modell vagy a CIM rövidítése érdekében fokozatosan megszüntetik. Az egyetlen különbség a WMI és a CIM között az általuk használt szállítási protokollok. Míg a WMI a Távoli eljáráshívások használatával végez lekérdezéseket, a CIM HTTP-t használ, ami úgy tűnik, hogy hatalmas különbséget mutat. A hátoldalon még mindig ugyanarra az információtárolóra beszélnek.

    A WMI használata

    A WMI-n keresztül elérhető információk gyorsabb és legegyszerűbb felfedezése az, hogy megragad egy ingyenes WMI-objektumböngésző másolatát. Szeretjük ezt. A letöltés után tegye ki a készüléket, és grafikus felületet kap a WMI osztályok böngészéséhez.

    Ha szeretné megtudni valamit a számítógép lemezkonfigurációjáról, nyomja meg a Ctrl + F billentyűzet kombinációt egy keresőmező megjelenítéséhez, majd írja be a „logicaldisk” parancsot, és nyomja meg az enter billentyűt.

    Azonnal eljut a Win32_LogicalDisk osztályba.

    Az alkalmazás alsó felében látható az osztály két példánya.

    Miután megkaptuk az osztályt, amit keresünk, a PowerShell-től való lekérdezés egyenesen előre van.

    Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”

    Nem láttam egy ideig a szintaxist, amikor az emberek mostanában inkább az új paraméterezett szintaxist használják.

    Get-WmiObject-Class Win32_LogicalDisk

    Ha a hálózaton lévő másik számítógépről szeretne információt kapni, egyszerűen használja a ComputerName paramétert.

    Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper -Hitelesítő-viper \ t

    A CIM használata

    Figyelembe véve, hogy a CIM csak a Windows 8 és a Server 2012 rendszeren érhető el, az előre haladó lépés ez az út.

    Get-CimInstance -ClassName Win32_LogicalDisk

    A Get-CimInstance használatakor a -ClassName paraméterhez lapfelsorolás is befejeződik, ami azt mutatja, hogy a továbblépés itt a Microsoft erőfeszítéseinek összpontosítása.

    Valójában a WMI-t egy teljesen különálló csapat fejlesztette ki a Microsoft-ban, de ezt követően átvette a PowerShellért felelős emberek. Ők voltak azok, akik észrevették, hogy nagyon nehéz lesz megtisztítani a WMI hagyományait. A helyzet kijavítása érdekében a WMI-t és a CIM-et a WMI-t és a CIM-et a burkolat alatti használatával megpróbálják elérni. Az egyetlen módja annak, hogy ellenőrizze, hogy egy cmdlet egy csomagoló, ha megnézzük a dokumentációt. A Get-Hotfix cmdlet például egy csomagolás a Win32_QuickFixEngineering osztályhoz, amint az a dokumentációban látható.

    Ez azt jelenti, hogy a gyorsjavításokat a távoli gépeken a Get-HotFix cmdlet használatával szerezheti be a WMI lekérdezés helyett.

    Get-HotFix -számítógépnév localhost

    Szóval ott van. Ne feledje, hogy ha van egy dedikált cmdlet, akkor mindig azt szeretné használni, amit a CIM követ, ha egy cmdlet nem létezik. Végül, ha minden más meghibásodik, vagy régebbi gépe van a környezetben, a WMI-t szeretné használni. Ez az, amire szükségem van erre az időre. Holnap találkozunk több PowerShell szórakozással.