Pemecahan Masalah WMI

Saat mengakses data lokal atau jarak jauh WMI dalam aplikasi atau skrip, Anda mungkin mengalami kesalahan mulai dari kelas yang hilang hingga akses ditolak. Penyedia juga memiliki opsi penelusuran kesalahan dan kelas pemecahan masalah yang tersedia.

Nota

Info dalam topik ini ditujukan untuk pengembang dan administrator TI. Jika Anda adalah pengguna akhir yang mengalami pesan kesalahan mengenai WMI, kunjungi Dukungan Microsoft, dan cari kode kesalahan yang Anda lihat dalam pesan kesalahan. Untuk informasi selengkapnya tentang pemecahan masalah dengan skrip WMI dan layanan WMI, lihat WMI tidak berfungsi!

Utilitas Diagnosis WMI

Penting

Utilitas Diagnosis WMI (WMIDiag.exe) tidak lagi didukung, dimulai dengan Windows 8 dan Windows Server 2012.

Windows 7, Windows Server 2008 R2, Windows Vista, dan Windows Server 2008:

Jika WMI mengembalikan pesan kesalahan, ketahuilah bahwa mereka mungkin tidak menunjukkan masalah dalam layanan WMI atau di penyedia WMI. Kegagalan dapat berasal dari bagian lain dari sistem operasi, dan muncul sebagai kesalahan melalui WMI. Dalam keadaan apa pun Anda tidak boleh menghapus repositori WMI sebagai langkah pertama; karena menghapus repositori dapat menyebabkan kerusakan pada sistem atau aplikasi yang diinstal.

Sebelumnya, untuk mendapatkan info lebih lanjut tentang sumber masalah, Anda dapat mengunduh dan menjalankan alat baris perintah diagnostik Utilitas Diagnosis WMI. Alat ini menghasilkan laporan yang biasanya dapat mengisolasi sumber masalah, dan memberikan instruksi tentang cara memperbaikinya. Laporan ini juga membantu layanan dukungan Microsoft dalam membantu Anda. Utilitas Diagnosis WMI sebelumnya tersedia di Pusat Unduhan.

Sebagai penulis penyedia, Anda mungkin juga mengalami masalah debugging kecuali Anda menulis penyedia terpisahkan. Untuk informasi lebih lanjut, lihat Penyedia debugging.

Pengelogan dan pelacakan

File log WMI tidak ada lagi; mereka digantikan oleh Event Tracing for Windows (ETW). Untuk informasi selengkapnya, lihat penelusuran aktivitas WMI, pencatatan aktivitas WMI, dan file log WMI.

Pemecahan masalah dalam skrip dan aplikasi

WMI berisi serangkaian kelas untuk pemecahan masalah aplikasi klien yang menggunakan penyedia WMI. Untuk informasi selengkapnya, lihat Pemecahan Masalah aplikasi klien WMI.

Bagaimana penyedia-penulis dapat mencegah masalah WMI

Penulis penyedia dapat mencegah banyak masalah (yang muncul dalam pesan kesalahan melalui WMI) dengan cara melakukan tindakan berikut:

  • Mendaftarkan penyedia Anda dengan benar. Untuk informasi selengkapnya, lihat Mendaftarkan penyedia.
  • Menambahkan pernyataan #pragma autorecover ke file Managed Object Format (MOF) yang mendefinisikan kelas penyedia Anda.

Untuk informasi selengkapnya, lihat Debugging penyedia , Menyediakan data ke WMI, dan Kelas Konfigurasi dan Pemecahan Masalah Penyedia.

Akses ditolak

Access menolak kesalahan yang dilaporkan oleh skrip dan aplikasi yang mengakses namespace layanan dan data WMI umumnya termasuk dalam tiga kategori. Tabel berikut mencantumkan tiga kategori kesalahan bersama dengan masalah yang dapat menyebabkan kesalahan dan kemungkinan solusi.

Kesalahan Kemungkinan Masalah Solusi
0x800706BA HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE)
Masalah firewall atau server tidak tersedia.
Komputer benar-benar tidak ada atau Windows Firewall memblokir koneksi
Menghubungkan ke Vista: netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes Menghubungkan ke level bawah: Izinkan aturan "Administrasi Jarak Jauh" di Windows Firewall.
0x80070005 E_ACCESS_DENIED
Akses ditolak oleh keamanan DCOM.
Pengguna tidak memiliki akses jarak jauh ke komputer melalui DCOM. Biasanya, kesalahan DCOM terjadi saat menyambungkan ke komputer jarak jauh dengan versi sistem operasi yang berbeda.
Berikan izin Peluncuran Jarak Jauh dan Aktivasi Jarak Jauh kepada pengguna di dcomcnfg. Klik kanan Komputer Saya - Properti>. Di bawah Keamanan COM, klik "Ubah Batas" untuk kedua bagian. Beri pengguna akses jarak jauh, peluncuran jarak jauh, dan aktivasi jarak jauh. Kemudian buka Konfigurasi DCOM, temukan "Instrumentasi Manajemen Windows", dan berikan pengguna yang Anda inginkan untuk Peluncuran Jarak Jauh dan Aktivasi Jarak Jauh. Untuk informasi selengkapnya, lihat Menyambungkan Antara Sistem Operasi yang Berbeda
0x80041003 WBEM_E_ACCESS_DENIED
Akses ditolak oleh penyedia
Pengguna tidak memiliki izin untuk melakukan operasi di WMI. Ini bisa terjadi ketika Anda mengkueri kelas tertentu sebagai pengguna dengan hak rendah, tetapi paling sering terjadi ketika Anda mencoba memanggil metode atau mengubah instans WMI sebagai pengguna hak rendah. Namespace yang Anda hubungkan dienkripsi, dan pengguna berusaha terhubung dengan koneksi yang tidak terenkripsi
Beri pengguna akses dengan WMI Control (pastikan mereka telah diatur ke "true" untuk Remote_Access). Kemudian sambungkan menggunakan klien yang mendukung enkripsi.
  • Biasanya, kesalahan DCOM terjadi saat menyambungkan ke komputer jarak jauh dengan versi sistem operasi yang berbeda.

  • Penyedia juga dapat menolak akses ke data di namespace tertentu atau mungkin memerlukan tingkat keamanan koneksi tertentu. Untuk informasi selengkapnya, lihat Keamanan Proses Aplikasi Klien dan Keamanan dan Hosting Penyedia.

  • Kesalahan akses ditolak dari perubahan Internet Connection Firewall (ICF).

    Untuk informasi selengkapnya, lihat Menyambungkan Melalui Windows Firewall.

  • Kesalahan akses ditolak dikembalikan oleh keamanan DCOM ketika klien berintegritas rendah mencoba mengakses WMI. Misalnya, kontrol ActiveX yang berjalan di Internet Explorer, yang memiliki tingkat keamanan yang diatur ke rendah, tidak memiliki akses untuk melakukan operasi WMI lokal.

    Windows 7: Pengguna berintegritas rendah memiliki izin baca-saja untuk operasi WMI lokal.

Informasi tentang Kesalahan

Ketika Anda mendapatkan pesan kesalahan dari WMI, Anda dapat menemukan pesan di Konstanta Kesalahan WMI atau, untuk pembuatan skrip, WbemErrorEnum. Namun, informasi yang diberikan oleh kesalahan saja biasanya tidak cukup untuk menentukan apa yang terjadi. Kerusakan repositori WMI dapat menyamar sebagai kelas atau instans "tidak ditemukan".

Untuk informasi selengkapnya tentang kesalahan WMI:

Pemecahan Masalah WMI

Pelacakan Aktivitas WMI

Pencatatan Aktivitas WMI