27Aug

Geek Iskola: A PowerShell használata a számítógépes információk beszerzéséhez

click fraud protection

A WMI és újabb testvére, a CIM egyaránt használható a Windows környezetben működő gépek kezelésére. De tudja a különbséget köztük? Csatlakozz hozzánk, ahogy vessünk egy pillantást.

Olvassa el a korábbi cikkeket a sorozatban:

  • Ismerje meg a Windows automatizálását a PowerShell segítségével
  • A Cmdletek használata a PowerShell-ben
  • A PowerShell objektumok használatának tanulása
  • A tanulás formázása, szűrése és összehasonlítása a PowerShell-ben
  • Ismerje meg a Remoting inPowerShell

És egész héten maradjon a sorozatban.

Bevezetés

A WMI a Windows Management Instrumentation kifejezésre utal. A "Hangszerelés" kifejezés arra a tényre utal, hogy a WMI lehetővé teszi számodra, hogy információt szerezzen a számítógép belső állapotáról, hasonlóan ahhoz, hogy az autós műszerfal eszközei visszakereshetik és megjeleníthetik az autók belső alkatrészeinek állapotát.

A WMI olyan tárolóból áll, amely olyan osztályokat tartalmaz, amelyek a gépen belül kezelhető összetevőket reprezentálják. Ezzel csak azért értünk, mert a WMI Win32_Battery osztálya nem azt jelenti, hogy a gép tartalmaz egy akkumulátort. Ezeket az osztályokat helyi vagy akár egy hálózaton keresztül is lekérdezhetik információk formájában, hasonlóan a WQL nevű SQL lekérdezési nyelvhez. Azonban a WMI ismert, hogy nagyon megbízhatatlan, főként annak a ténynek köszönhetően, hogy az alapja RPC( távoli eljáráshívások), amelyek néhány őrült dolgokat a kikötők úgy döntenek, hogy kommunikálni.

instagram viewer

A Windows 8 és a Server 2012 használatával a WMI a közös információs modell vagy a CIM javára megszűnik. Az egyetlen különbség a WMI és a CIM között az általuk használt szállítási protokollok között. Bár a WMI lekérdezéseket hajt végre távoli eljáráshívások használatával, a CIM HTTP-t használ, ami hatalmas különbségnek tűnik. A háttérben még mindig ugyanazt az információs tárházat beszélik.

A WMI

használata A WMI-n keresztül elérhető információk leggyorsabb és legegyszerűbb módja, hogy megragad minden szabad WMI objektum böngészőt. Szeretjük ezt. Ha letöltötte, tegye fel, és grafikus felületet kap a WMI osztályok böngészéséhez.

kép

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

kép

Azonnal ez a Win32_LogicalDisk osztályba kerül.

kép

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

kép

Ha megvan az osztályunk, amit keresünk, a PowerShell-ről lekérdezve egyenesen előre.

Get-WmiObject -Query "SELECT * FROM Win32_LogicalDisk"

kép

Nem láttam, hogy a szintaxis egy darabig az emberekkel ezekben az időkben inkább az új paraméterezett szintaxist használják.

Get-WmiObject -Class Win32_LogicalDisk

kép

Ha meg akarja szerezni az információt egy másik számítógépről a hálózaton, egyszerűen használhatja a ComputerName paramétert.

Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper -Credential viper \ adminisztrátor

kép

A CIM

használata Figyelembe véve, hogy a CIM csak a Windows 8 és Server 2012 rendszeren érhető el, előre haladva ez biztosan az út.

Get-CimInstance -ClassName Win32_LogicalDisk

kép

A Get-CimInstance használatakor a -ClassName paraméter is van tabulátorral, ami azt mutatja, hogy a továbblépés itt a Microsoft erőfeszítéseinek középpontjában áll. Valójában a WMI-t egy teljesen különálló csapat dolgozott ki a Microsoftban, de ezt követően a PowerShell megbízottai átvette a WMI-t.Ők voltak azok, akik észrevették, hogy nagyon nehéz lesz megtisztítani a WMI mögött hagyott rendet. A helyzet orvoslása érdekében megpróbálják a WMI-t és a CIM-et elérhetővé tenni a WMI és a CIM-et használó csomagolómodulok írásával. Az egyetlen módja annak, hogy ellenőrizze, hogy egy cmdlet egy csomagolás, a dokumentáció megtekintésével. Például a Get-Hotfix cmdlet egy csomagolás a Win32_QuickFixEngineering osztályhoz, amint az a dokumentációban látható.

kép

Ez azt jelenti, hogy a WMI Query helyett a Get-HotFix cmdlet használatával kaphat gyorsjavítást a távoli gépeken.

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

kép

Tehát ott van. Ne felejtsük el, hogy ha van egy dedikált cmdlet, akkor mindig használni fogják, amit a CIM követ, ha egy cmdlet nem létezik. Végül, ha minden más sikertelen, vagy van régebbi géped a környezetedben, akkor a WMI-t szeretnéd használni. Ez az egész csak ez az idő.Holnap találkozhatunk még PowerShell szórakoztatással.