Membuat Klien WMI

WMI menyediakan infrastruktur manajemen sistem standar yang dapat dimanfaatkan oleh sejumlah klien yang berbeda. Klien ini berkisar dari alat baris perintah wmic.exe hingga System Center Operations Manager. Anda dapat menulis klien WMI Anda sendiri dengan menggunakan API Skrip WMI, API C++ asli atau dengan menggunakan jenis di namespace pustaka kelas System.Management .NET Framework.

Cara membuat klien WMI

Fungsionalitas inti WMI terdiri dari mengambil objek dari repositori WMI dan memeriksa properti objek tersebut. Anda juga dapat memilih untuk memperbarui properti tersebut, atau memanggil metode pada properti tersebut. Contoh berikut menunjukkan cara melakukan tugas administrasi WMI dasar: mengambil nama komputer lokal.

Istilah Deskripsi
Membuat klien dengan PowerShell
WMI dan PowerShell terintegrasi erat; dengan demikian, mengambil objek WMI dengan PowerShell hanyalah masalah memanggil cmdlet Get-WmiObject. Perhatikan bahwa untuk konsistensi, cuplikan kode pertama secara eksplisit menyatakan banyak nilai default; yang kedua mengasumsikan bahwa nilai default sudah benar.

PowerShell
              
              #explicitly menyatakan banyak dari parameter default $myComputer = Get-WmiObject -ComputerName "." -Namespace "root\cimv2" -Query "SELECT * FROM Win32_ComputerSystem" foreach ($computer in $myComputer) { "Nama Sistem: " + $computer.name } 

#assumes the default values are correct Get-WmiObject Win32_ComputerSystem | Format-Table "Name"

Membuat klien dengan VBScript

VBScript adalah bahasa pembuatan skrip asli yang umum digunakan dengan WMI. Meskipun PowerShell telah menjadi lebih populer, banyak sampel kode yang ada dalam dokumentasi ini ditulis dalam VBScript. Perhatikan bahwa sampel VBScript khusus ini secara eksplisit menyatakan jalur komputer lokal serta level impersonasi; ini tidak diperlukan, tetapi sering kali merupakan praktik yang direkomendasikan.

VB
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each objItem in colItems
    Wscript.Echo "Computer Name: " & objItem.Name
Next

Membuat klien dengan C# (Microsoft.Management.Infrastructure)

Namespace ini mengandung solusi terbaru untuk mengakses WMI dengan kode terkelola, yang dikenal sebagai Infrastruktur Manajemen Windows (MI, atau WMIv2). Saat ini, MI adalah teknologi yang didukung untuk membuat klien manajemen terkelola. Untuk informasi selengkapnya, lihat Cara Menerapkan Klien MI Terkelola dan Cara Menerapkan Klien MI Asli.

C#
              
              menggunakan Microsoft.Management.Infrastructure; ... CimSession session = CimSession.Create("localHost"); IEnumerable<CimInstance> queryInstance = session.QueryInstances(@"root\cimv2", "WQL", "SELECT * FROM Win32_ComputerSystem"); 

foreach (CimInstance cimObj in queryInstance) { Console.WriteLine(cimObj.CimInstanceProperties["Name"].ToString()); }

Membuat klien dengan C# (System.Management)

Namespace ini berisi solusi asli untuk mengakses WMI dengan kode terkelola. Meskipun kelas System.Management masih tersedia, kelas Microsoft.Management.Infrastructure umumnya lebih efisien dan lebih dapat diskalakan. Dengan demikian, disarankan agar Anda menggunakan kelas MI, daripada kelas WMI asli.

C#
              
              menggunakan Microsoft.Management.Infrastructure; ... CimSession session = CimSession.Create("localHost"); IEnumerable<CimInstance> queryInstance = session.QueryInstances(@"root\cimv2", "WQL", "SELECT * FROM Win32_ComputerSystem"); 

foreach (CimInstance cimObj in queryInstance) { Console.WriteLine(cimObj.CimInstanceProperties["Name"].ToString()); }

Tabel berikut mencantumkan topik yang dibahas di bagian ini.

Topik Deskripsi
Menghubungkan ke WMI di komputer jarak jauh Menjelaskan sejumlah masalah yang muncul ketika klien menggunakan infrastruktur WMI di komputer jarak jauh.
Tugas WMI untuk Skrip dan Aplikasi Menampilkan contoh kode klien WMI.
Membuat Aplikasi WMI atau Skrip Menyediakan informasi mengenai proses pembuatan berbagai klien WMI.
Pemantauan Data Performa Menjelaskan cara menggunakan WMI untuk memantau data performa.
Menerima Peristiwa WMI Menjelaskan cara melihat peristiwa WMI.
Peristiwa Pemantauan Menjelaskan proses untuk memantau peristiwa WMI.
kueri dengan WQL Memperkenalkan WMI Query Language (WQL).
Memeriksa Status Fitur Opsional Di Windows 7, WMI menerapkan kelas Win32_OptionalFeature. Kelas ini mengambil status fitur opsional yang tersedia di komputer.
Menjelaskan Lokasi Objek WMI Berfokus pada sintaks untuk menjelaskan lokasi entitas terkelola WMI.
Mengakses Fitur Sistem Operasi Lainnya dengan WMI Menjelaskan cara menulis klien WMI yang mengakses driver perangkat, Direktori Aktif, dan perangkat SNMP.
Mengakses Data di Interop Namespace Penyedia asosiasi memungkinkan klien Windows Management Instrumentation (WMI) untuk menelusuri dan mendapatkan profil serta instans kelas yang terkait dari berbagai namespace.
Memanipulasi Informasi Kelas dan Instance Menjelaskan tugas umum yang harus dilakukan klien WMI.
Menghubungkan Kelas-Kelas Membahas penyedia tampilan dan bagaimana hal itu dapat digunakan untuk mengumpulkan informasi dari beberapa kelas WMI.
Memodifikasi Registri Sistem Menjelaskan bagaimana klien WMI dapat menggunakan WMI untuk mengelola informasi registri sistem.