WMI merupakan rekomendasi industri untuk mengembangkan teknologi standar untuk mengakses informasi manajemen di lingkungan perusahaan. Informasi ini mencakup status memori sistem, daftar aplikasi klien yang saat ini diinstal, dan data lain tentang status klien.
WMI adalah arsitektur manajemen sistem terukur yang menggunakan antarmuka berorientasi objek terpadu, berbasis standar, dan dapat diperluas. Ini menyediakan metode standar untuk berinteraksi dengan informasi administrator sistem dan API WMI yang mendasarinya, yang digunakan terutama oleh pengembang aplikasi manajemen sistem dan administrator sistem untuk mengakses dan mengoperasikan informasi manajemen sistem.
WMI dapat digunakan untuk menghasilkan alat untuk mengatur dan mengelola informasi sistem, memungkinkan administrator sistem untuk memantau aktivitas sistem lebih dekat.
WMI menyediakan serangkaian layanan manajemen sistem yang dibangun ke dalam sistem operasi Microsoft Windows, dan sekarang digunakan oleh sejumlah besar aplikasi, layanan, dan perangkat untuk menyediakan kemampuan manajemen komprehensif untuk operasi teknologi informasi dan organisasi dukungan produk. Penggunaan sistem manajemen berbasis WMI menghadirkan lingkungan komputasi yang lebih andal dan keandalan sistem yang lebih tinggi, sehingga menghemat pengeluaran perusahaan.
Sejumlah besar spesifikasi yang disediakan oleh WMI mengimplementasikan tugas manajemen berikut untuk banyak aplikasi kelas atas, seperti Microsoft Exchange, Microsoft SQL Server, dan Microsoft Internet Information Services (IIS).
1. Pantau kinerja aplikasi
2. Mendeteksi kemacetan atau kegagalan
3. Kelola dan konfigurasikan aplikasi
4. Data aplikasi kueri (menggunakan traversal dan kueri relasional objek)
5. Lakukan operasi manajemen lokal atau jarak jauh yang lancar
Di bawah ini kami menggunakan contoh untuk mengilustrasikan fungsi WMI yang hebat. Mengambil vb6 sebagai kolom:
Referensi "Perpustakaan Microsoft WMI Scripting V1.1"
Kodenya adalah sebagai berikut:
Opsi ExplicitDim WithEvents Sink As SWbemSinkDim j As Integer' function: Gunakan komponen wmi untuk mendapatkan informasi komputer. Setiap fungsi kecil ditulis secara terpisah untuk diperiksa semua orang. Private Sub cmdDone_Click()Dim oWMINameSpace As SWbemServicesDim oLogicalDiskSet As SWbemObjectSetDim oLogicalDisk As SWbemObject Dim ObjSet As VariantDim sDrive Sebagai StringDim sValue As StringDim dblSize As DoubleDim Obj As Variant Dim lIndex As Long Set oWMINameSpace = GetObject("winmgmts:") 'Dapatkan informasi drivePada Error Resume NextSet ObjSet = oWMINameSpace.InstancesOf("Win32_DiskDrive") Untuk Setiap Obj Dalam ObjSet List5 .Keterangan & " - " & BytesToMegabytes(Obj.Size) & " GB"Selanjutnya 'Dapatkan informasi detail setiap drivePada Kesalahan GoTo ErrorHandler'Set oWMINameSpace = GetObject("winmgmts:")Set oLogicalDiskSet = oWMINameSpace.InstancesOf("Win32_LogicalDisk")Untuk Setiap oLogicalDisk Di oLogicalDiskSet On Error Lanjutkan Berikutnya sDrive = oLogicalDisk.deviceid ListView1.ListItems.Add , , sDrive lIndex = ListView1.ListItems.Count sValue = oLogicalDisk.Description & "" ListView1.ListItems(lIndex).SubItems(1) = sValue sValue = oLogicalDisk.FileSystem & "" ListView1.ListItems(lIndex).SubItems(2) = sValue sValue = oLogicalDisk.VolumeName & "" ListView1.ListItems(lIndex).SubItems(3) = sValue sValue = oLogicalDisk.VolumeSerialNumber & "" ListView1.ListItems(lIndex).SubItems (4) = sValue sValue = oLogicalDisk.Size & "" If IsNumeric(sValue) KemudianndblSize = BytesToMegabytes(CDbl(sValue))sValue = CStr(dblSize) & " MB" Selesai Jika ListView1.ListItems(lIndex).SubItems(5) = sValueNext CleanUp: Atur oLogicalDisk = NothingSet oLogicalDiskSet = NothingSet oWMINameSpace = NothingExit Sub ErrorHandler:MsgBox "" & Err.Deskripsi GoTo CleanUp End Sub Private Sub Command1_Click()Unload MeEnd Sub Private Function BytesToMegabytes(Bytes As Double) As Double Dim dblAns As Double dblAns = (Bytes / 1024) / 1024 ByteToMegabyte = Format(dblAns, "###,###,##0.00")End Function Private Sub Command2_Click()Dim oWMINameSpace Sebagai SWbemServicesDim SystemSet Sebagai VariantDim System Sebagai VariantDim ObjSet Sebagai VariantDim Obj Sebagai Variant Set oWMINameSpace = GetObject("winmgmts:" )'Set Sistem Operasi SystemSet = oWMINameSpace.InstancesOf("Win32_OperatingSystem") Untuk Setiap Sistem Dalam SystemSet List1.AddItem System.Caption List1.AddItem System.Manufacturer List1.AddItem System.BuildType & "" 'Sepertinya List1.AddItem System.Version List1.AddItem tidak dapat diambil keluar di bawah Win9x System.SerialNumberNext'cpuSet ObjSet = oWMINameSpace.InstancesOf("Win32_Processor") Untuk Setiap Obj Dalam Daftar ObjSet2.AddItem Obj.Caption List2.AddItem Obj.currentclockspeed & " Mhz"Next End Sub Private Sub Command3_Click()Dim oWMINameSpace As SWbemServicesDim ObjSet As VariantDim Obj As VariantDim Adapter As Variant 'Perangkat Memori oWMINameSpace = GetObject("winmgmts:")Set ObjSet = oWMINameSpace.InstancesOf("Win32_PhysicalMemory")Redupkan i Sebagai String Untuk Setiap Obj Dalam ObjSet List3.AddItem BytesToMegabytes(Obj.capacity) & " MB" & " Chip"Next 'Network Card Set Sink = Adaptor Set SWbemSink Baru = GetObject("winmgmts:")Adapter.InstancesOfAsync Sink, "Win32_NetworkAdapter" Akhiri Sub Pribadi Sub Form_Load()j = 0End Sub Pribadi Sub Sink_OnObjectReady(ByVal objWbemObject Sebagai WbemScripting.ISWbemObject, ByVal objWbemAsyncContext Sebagai WbemScripting.ISWbemNamedValueSet) Redupkan Adaptor Sebagai Varian'Dapatkan semua informasi adaptor Set Adapter = GetObject("winmgmts:Win32_NetworkAdapterConfiguration=" & j & "") List4.AddItem Adapter.Description If IsNull(Adapter.MACAddress) Then List4.AddItem "No MAC Address" List4.AddItem " " Lain List4.AddItem "Mac: " & Adapter.MACAddress List4.AddItem ""Akhir Jika j = j + 1Akhir Sub
Artikel ini diperkenalkan di sini. Untuk informasi lebih lanjut, Anda dapat merujuk ke artikel ini: http://technet.microsoft.com/en-us/library/ee198932.aspx