27Aug
WMI un tā jaunākais brālis 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.
Pārliecinieties, ka esat izlasījis iepriekšējos sērijas rakstus:
- Uzziniet, kā automatizēt Windows ar PowerShell
- Mācīties lietot komandas PowerShell
- Mācīšanās lietot objektus PowerShell
- Mācīšanās formēšana, filtrēšana un salīdzināšana PowerShell
- Uzziniet, kā izmantot atstarpiPowerShell
Visu nedēļu palieciet uz visu pārējo sēriju.
Ievads
WMI apzīmē Windows vadības instrumentus. 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 krātuves, 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ārtraukta par labu kopīgajam informācijas modelim vai CIM par īsu. 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.
Izmantojot WMI
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 kopiju. 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 Ctrl + F tastatūras kombināciju, 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 mūsu meklējamā klase, PowerShell tiek vaicāts tieši uz priekšu.
Get-WmiObject -Query "SELECT * FROM Win32_LogicalDisk"
Es šobrīd neredzēju šo sintaksi, jo cilvēki šogad vēlējās izmantot jauno parametrēto sintaksi.
Get-WmiObject-klase Win32_LogicalDisk
Ja vēlaties iegūt informāciju no cita datora savā tīklā, varat vienkārši izmantot parametru ComputerName.
Get-WmiObject-klase Win32_LogicalDisk -ComputerName Viper-kredīta viper \ administrators
Izmantojot CIM
Ņemot vērā, ka CIM ir pieejams tikai operētājsistēmā Windows 8 un Server 2012, tas ir noteikti ir veids, kā iet.
Get-CimInstance-ClassName Win32_LogicalDisk
Ar Get-CimInstance palīdzību tiek izmantots arī tabulēšanas pabeigšanas parametrs -ClassName, kas parāda, ka, turpinot darbu, Microsoft centīsies.
Patiesībā WMI tika izstrādāta pilnīgi atsevišķā Microsoft komandā, 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 uz attālinātām iekārtām, izmantojot WMI vaicājuma vietā, izmantojot Get-HotFix komandu.
Get-HotFix -ComputerName localhost
Tātad jums 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.