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 Manajer Operasi Pusat Sistem. Anda dapat menulis klien WMI Anda sendiri dengan menggunakan WMI Scripting API, 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 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 memiliki penggunaan umum 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 maupun tingkat peniruan; ini tidak diperlukan, tetapi sering kali merupakan praktik terbaik.

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 berisi solusi saat ini untuk mengakses WMI dengan kode terkelola, dan 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; ... Sesi CimSession = CimSession.Create("localHost"); IEnumerable<CimInstance> queryInstance = sesi. 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 menskalakan lebih baik. Dengan demikian, disarankan agar Anda menggunakan kelas MI, bukan kelas WMI asli.

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

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

Tabel berikut ini mencantumkan topik yang dibahas di bagian ini.

Topik Deskripsi
Menyambungkan ke WMI pada 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 atau Skrip WMI Menyediakan informasi tentang membuat berbagai klien WMI.
Memantau Data Performa Menjelaskan cara menggunakan WMI untuk memantau data performa.
Menerima Acara WMI Menjelaskan cara melihat peristiwa WMI.
Memantau Peristiwa Menjelaskan cara memantau peristiwa WMI.
Mengkueri dengan WQL Memperkenalkan WMI Query Language (WQL).
Mengkueri Status Fitur Opsional Di Windows 7, WMI menerapkan kelas Win32_OptionalFeature . Kelas ini mengambil status fitur opsional yang ada 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 Namespace Interop Penyedia asosiasi memungkinkan klien Windows Management Instrumentation (WMI) melintasi dan mengambil profil dan instans kelas terkait dari namespace layanan yang berbeda.
Memanipulasi Informasi Kelas dan Instans Menjelaskan tugas umum yang harus dilakukan klien WMI.
Menautkan Kelas Bersama-sama Membahas penyedia tampilan dan bagaimana hal itu dapat digunakan untuk menyampulkan informasi dari beberapa kelas WMI.
Memodifikasi Registri Sistem Menjelaskan bagaimana klien WMI dapat menggunakan WMI untuk mengelola informasi registri sistem.