/ / Geek School: PowerShell izmantošana, lai iegūtu informāciju par datoru

Geek skola: PowerShell izmantošana, lai iegūtu informāciju par datoru

Gan WMI, gan jaunāko brāli CIM var izmantot, lai pārvaldītu Windows mašīnas jūsu vidē. Bet vai jūs zināt atšķirību starp viņiem? Pievienojieties mums, kad mēs apskatīt.

Noteikti izlasiet iepriekšējos sērijas rakstus:

  • Uzziniet, kā automatizēt Windows, izmantojot PowerShell
  • Iemācīšanās lietot Cmdlets pakalpojumā PowerShell
  • Mācības, kā lietot objektus programmā PowerShell
  • Formatēšanas, filtrēšanas un salīdzināšanas apguve programmā PowerShell
  • Uzziniet, kā lietot Remote programmā PowerShell

Un visu nedēļu sekojiet līdzi pārējām sērijām.

Ievads

WMI nozīmē Windows pārvaldības instrumentāciju. Vārds “Instrumentācija” attiecas uz faktu, ka WMI ļauj iegūt informāciju par datora iekšējo stāvokli, līdzīgi kā automašīnas paneļa instrumenti var iegūt un parādīt informāciju par jūsu automašīnas iekšējo komponentu stāvokli.

WMI sastāv no repozitorija, kurā irklases, kas attēlo komponentus, kurus var pārvaldīt jūsu mašīnā. Ar to mēs domājam tikai tāpēc, ka WMI ir Win32_Battery klase, tas nenozīmē, ka jūsu mašīnā ir akumulators. Šīs klases pēc tam var iegūt informāciju vietējā līmenī vai pat visā tīklā, izmantojot vaicājumu valodu, kas ir ļoti līdzīga SQL, ko sauc par WQL. Tomēr ir zināms, ka WMI ir ļoti neuzticama, galvenokārt tāpēc, ka tās pamatā ir RPC (Remote Procedure Call), kas dara dažas trakas lietas ar ostām, kurās viņi izvēlas sazināties.

Sākot ar Windows 8 un Server 2012, WMI irtiek pakāpeniski pārtraukta par labu kopējam informācijas modelim vai CIM. Vienīgā atšķirība starp WMI un CIM ir to izmantotie transporta protokoli. Kamēr WMI veic vaicājumus, izmantojot attālās procedūras izsaukumus, CIM izmanto HTTP, kas, šķiet, rada milzīgas atšķirības. Pamatprogrammā viņi joprojām runā ar to pašu informācijas krātuvi.

Izmantojot WMI

Ātrākais un vienkāršākais veids, kā izpētītinformācija, kas jums pieejama, izmantojot WMI, ir sagraut jebkura bezmaksas WMI objekta pārlūka kopiju. Mums tas patīk. Pēc lejupielādes aktivizējiet to, un jums būs grafiskais interfeiss, lai pārlūkotu WMI klases.

attēls

Ja vēlaties uzzināt kaut ko par datora diska konfigurāciju, nospiediet Ctrl + F tastatūras kombināciju, lai parādītu meklēšanas lodziņu, pēc tam ierakstiet “logisticsdisk” un nospiediet enter.

attēls

Tūlīt jūs nokļūsit Win32_LogicalDisk klasē.

attēls

Lietojumprogrammas apakšējā daļā varat redzēt, ka mums ir divi klases gadījumi.

attēls

Kad esam ieguvuši klasi, kuru meklējam, vaicājiet tai no PowerShell.

Get-WmiObject - vaicājums “SELECT * FROM Win32_LogicalDisk”

attēls

Es kādu laiku neesmu redzējis šo sintaksi ar cilvēkiem, kuri labprātāk izmanto jauno parametrēto sintakse.

Get-WmiObject - klase Win32_LogicalDisk

attēls

Ja vēlaties iegūt informāciju no cita tīkla datora, varat vienkārši izmantot parametru ComputerName.

Get-WmiObject -Klases Win32_LogicalDisk -DatoraNosaukums Viper –Krepensijas administrators

attēls

Izmantojot CIM

Paturot prātā, ka CIM ir pieejams tikai operētājsistēmās Windows 8 un Server 2012, virzoties uz priekšu, tas noteikti ir veids, kā iet.

Get-CimInstance –ClassName Win32_LogicalDisk

attēls

Lietojot Get-CimInstance, tiek aizpildīta arī tabulas parametra –ClassName cilne, kas parāda, ka turpinot, šeit tiks koncentrēti Microsoft centieni.

Faktiski WMI izstrādāja pilnīgiatsevišķa komanda Microsoft ietvaros, bet pēc tam to pārņēma par PowerShell atbildīgie ļaudis. Viņi bija tie, kas pamanīja, ka būs ļoti grūti iztīrīt WMI atstāto putru. Mēģinot labot situāciju, viņi mēģina padarīt WMI un CIM pieejamākus, zem pārsega rakstot iesaiņojuma cmdlet, kas izmanto WMI un CIM. Vienīgais veids, kā pārbaudīt, vai cmdlet ir iesaiņojums, ir, apskatot dokumentāciju. Piemēram, cmdlet Get-Hotfix ir iesaiņojums klasei Win32_QuickFixEngineering, kā redzams dokumentācijā.

attēls

Tas nozīmē, ka labojumfailus var iegūt attālās mašīnās, izmantojot cmdlet Get-HotFix, nevis WMI Query.

Get-HotFix –DatorNosaukums lokālais serveris

attēls

Tātad jums tas ir. Tikai atceraties, ka, ja ir speciāla cmdlet, jūs vienmēr vēlēsities to izmantot, un, ja cmdlet neeksistē, sekojiet CIM. Visbeidzot, ja viss pārējais neizdodas vai ja jūsu vidē ir vecākas mašīnas, jūs vēlēsities izmantot WMI. Tas ir viss, kas man ir šajā laikā. Tiekamies rīt, lai iegūtu vairāk PowerShell izklaides.