Noteikti izlasiet iepriekšējos sērijas rakstus:
- Uzziniet, kā automatizēt Windows ar PowerShell
- Mācīšanās lietot moduļus PowerShell
- Mācīšanās kā lietot objektus PowerShell
- Mācību formēšana, filtrēšana un salīdzināšana PowerShell
- Uzziniet, kā izmantot utilizācijas PowerShell
Un visu nedēļu pieskarieties atlikušajām sērijām.
Ievads
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.
WMI izmantošana
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.
Kad mums ir klase, kuru meklējam, PowerShell tiek vaicāts tieši uz priekšu.
Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”
Get-WmiObject –Class Win32_LogicalDisk
Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viperadministrator
CIM lietošana
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
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ā.
Get-HotFix –ComputerName localhost