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.
Catatan
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 penelusuran kesalahan kecuali Anda menulis penyedia yang diputuskan. Untuk informasi selengkapnya, lihat Penyedia penelusuran kesalahan.
Pencatatan dan pelacakan
File log WMI tidak ada lagi; mereka digantikan oleh Pelacakan Peristiwa untuk Windows (ETW). Untuk informasi selengkapnya, lihat Melacak aktivitas WMI, Aktivitas WMI pengelogan, dan file log WMI.
Pemecahan masalah dalam skrip dan aplikasi
WMI berisi sekumpulan kelas untuk memecahkan masalah aplikasi klien yang menggunakan penyedia WMI. Untuk informasi selengkapnya, lihat Pemecahan masalah aplikasi klien WMI.
Cara penulis penyedia dapat mencegah masalah WMI
Penyedia penulis dapat mencegah banyak masalah (yang muncul dalam pesan kesalahan melalui WMI) dengan melakukan tindakan berikut:
- Mendaftarkan penyedia Anda dengan benar. Untuk informasi selengkapnya, lihat Mendaftarkan penyedia.
- Menambahkan pernyataan #pragma pemulihan otomatis ke file Managed Object Format (MOF) yang menentukan kelas penyedia Anda.
Untuk informasi selengkapnya, lihat Penyedia debugging, Menyediakan data ke WMI, dan Konfigurasi penyedia dan kelas pemecahan masalah.
Akses ditolak
Kesalahan akses ditolak 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 |
Menyambungkan ke Vista: netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes Connecting to downlevel: Allow the "Remote Administration" rule in Windows Firewall. |
E_ACCESS_DENIED 0x80070005 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 "Edit Batas" untuk kedua bagian. Berikan pengguna yang Anda inginkan akses jarak jauh, peluncuran jarak jauh, dan aktivasi jarak jauh. Kemudian buka Konfigurasi DCOM, temukan "Instrumentasi Manajemen Windows", dan berikan pengguna yang Anda inginkan Peluncuran Jarak Jauh dan Aktivasi Jarak Jauh. Untuk informasi selengkapnya, lihat Menyambungkan Antara Sistem Operasi yang Berbeda |
WBEM_E_ACCESS_DENIED 0x80041003 Akses ditolak oleh penyedia |
Pengguna tidak memiliki izin untuk melakukan operasi di WMI. Ini bisa terjadi ketika Anda meminta kelas tertentu sebagai pengguna hak rendah, tetapi paling sering terjadi ketika Anda mencoba memanggil metode atau mengubah instans WMI sebagai pengguna hak rendah. Namespace layanan yang Anda sambungkan dienkripsi, dan pengguna mencoba menyambungkan dengan koneksi yang tidak terenkripsi |
Beri pengguna akses dengan Kontrol WMI (pastikan mereka telah Remote_Access diatur ke true) 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 Mengatur Keamanan Proses Aplikasi Klien dan Hosting dan Keamanan 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 menyanggah sebagai kelas atau instans "tidak ditemukan".
Untuk informasi selengkapnya tentang kesalahan WMI:
- Log WMI melacak peristiwa dari dalam inti WMI dan dari penyedia. Untuk informasi selengkapnya, lihat Mencatat Aktivitas WMI.
- Gunakan Kelas Pemecahan Masalah WMI untuk memeriksa status internal WMI atau menerima pemberitahuan penyedia atau peristiwa layanan WMI. Untuk informasi selengkapnya, lihat Konfigurasi Penyedia dan Kelas Pemecahan Masalah dan Pemecahan Masalah Aplikasi Klien WMI.