WMI un tā jaunāko brāli CIM var tikt izmantoti, lai pārvaldītu Windows iekārtas jūsu vidē. Bet vai jūs zināt atšķirību starp tām? Pievienojies mums, kad mēs skatāmies.
Noteikti izlasiet iepriekšējos sērijas rakstus:
Un visu nedēļu pieskarieties atlikušajām sērijām.
WMI nozīmē Windows vadības instrumentu. Vārds "Instrumentation" attiecas uz to, ka WMI ļauj iegūt informāciju par sava datora iekšējo stāvokli, tāpat kā automašīnas vadības paneļa instrumenti var izgūt un parādīt informāciju par jūsu automašīnu iekšējo komponentu stāvokli.
WMI sastāv no repozitorija, kurā ir klases, kas pārstāv sastāvdaļas, kuras var pārvaldīt jūsu datorā. Ar to mēs domājam tikai tādēļ, ka WMI ir Win32_Battery klases, nenozīmē, ka jūsu mašīna satur akumulatoru. Pēc tam šīs klases var tikt vaicātas informācijai lokāli vai pat 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 neuzticams, galvenokārt tāpēc, ka tā pamatā ir RPC (Remote Procedure Calls), kas daži crazy lietas ar ostām viņi izvēlas sazināties.
Sākot ar Windows 8 un Server 2012, WMI tiek pakāpeniski pārtraukts par labu kopējam informācijas modelim vai CIM īsam. Vienīgā atšķirība starp WMI un CIM ir transporta protokoli, kurus tie izmanto. Kamēr WMI veic vaicājumus, izmantojot attālās procedūras izsaukumus, CIM izmanto HTTP, kas, šķiet, padara milzīgas atšķirības. Uz backend viņi joprojām runā ar to pašu informācijas krātuvi.
Visātrākais un vienkāršākais veids, kā izpētīt ar WMI pieejamo informāciju, ir iegūt jebkuru bezmaksas WMI Object Browser eksemplāru. Mums tas patīk. Pēc lejupielādes, aktivizējiet to un jums būs grafisks interfeiss, lai pārlūkotu WMI klases.
Ja vēlaties uzzināt kaut ko par datora diska konfigurāciju, nospiediet kombināciju Ctrl + F, lai atvērtu meklēšanas lodziņu, pēc tam ierakstiet "logicaldisk" un nospiediet enter.
Tūlīt jūs nokļūsiet Win32_LogicalDisk klasē.
Programmas apakšējā daļā jūs varat redzēt, ka mums ir divi klases gadījumi.
Kad mums ir klase, kuru meklējam, PowerShell tiek vaicāts tieši uz priekšu.
Get-WmiObject -Query "SELECT * FROM Win32_LogicalDisk"
Es laiku pa laikam neesmu redzējis šo sintaksi, jo šodienas cilvēki izvēlas izmantot jauno parametrēto sintaksi.
Get-WmiObject-klase Win32_LogicalDisk
Ja jūs vēlaties saņemt informāciju no cita datora savā tīklā, varat vienkārši izmantot parametru ComputerName.
Get-WmiObject-klase Win32_LogicalDisk -ComputerName Viper-kredīts viper \ administrator
Paturot prātā, ka CIM ir pieejams tikai operētājsistēmās Windows 8 un Server 2012, turpinot to, tas noteikti ir veids, kā iet.
Get-CimInstance-ClassName Win32_LogicalDisk
Izmantojot Get-CimInstance, tiek parādīts arī klases -ClassName parametra cilnes pabeigšana, kas parāda, ka tālāk tiek virzīti Microsoft centieni.
Faktiski WMI izstrādāja pilnīgi atsevišķa Microsoft komanda, bet pēc tam tās pārņēma cilvēki, kas atbildīgi par PowerShell. Viņi bija tie, kas pamanīja, ka būs ļoti grūti iztīrīt netīro WMI palikušo. Mēģinot atrisināt situāciju, viņi mēģina padarīt WMI un CIM pieejamus, rakstot iesaiņojuma cmdletus, kas zem kapuces izmanto WMI un CIM. Vienīgais veids, kā pārbaudīt, vai cmdlet ir iesaiņojums, ir aplūkot dokumentāciju. Piemēram, Get-Hotfix cmdlet ir iesaiņojums klasē Win32_QuickFixEngineering, kā tas redzams dokumentācijā.
Tas nozīmē, ka jūs varat saņemt labojumfailus attālās darbstacijās, izmantojot WMI vaicājuma vietā, izmantojot Get-HotFix komandu.
Get-HotFix -ComputerName localhost
Tātad tev tas ir. Vienkārši atcerieties, ka, ja ir īpaša cmdlet, jūs vienmēr gribēsiet to izmantot, kam seko CIM, ja cmdlet nepastāv. Visbeidzot, ja visi citi neizdodas vai jums ir vecākas mašīnas jūsu vidē, jūs vēlēsities izmantot WMI. Tas viss man ir šajā laikā. Redzēsim tev vēl PowerShell jautrību.