Tugas WMI: Menyambungkan ke Layanan WMI

Untuk mendapatkan data dari WMI, baik di komputer lokal atau dari komputer jarak jauh, Anda harus terhubung ke layanan WMI dengan menyambungkan ke namespace layanan tertentu. Dalam kebanyakan kasus, gunakan koneksi moniker singkat atau koneksi Locator . Untuk contoh lain, lihat TechNet ScriptCenter di https://www.microsoft.com/technet.

Sambungan jarak jauh memerlukan pengaturan yang tepat untuk Windows Firewall dan DCOM. Untuk informasi selengkapnya, lihat Menyambungkan ke WMI di Komputer Jarak Jauh dan Menyambungkan Melalui Windows Firewall. Dimulai dengan Windows Vista, Kontrol Akun Pengguna (UAC) dapat memengaruhi akses WMI. Untuk informasi selengkapnya, lihat Kontrol Akun Pengguna dan WMI.

Contoh skrip yang ditampilkan dalam topik ini hanya mendapatkan data dari komputer lokal. Untuk informasi selengkapnya tentang cara menggunakan skrip untuk mendapatkan data dari komputer jarak jauh, lihat Menyambungkan ke WMI di Komputer Jarak Jauh.

Prosedur berikut menjelaskan cara menjalankan skrip.

Untuk menjalankan skrip

  1. Salin kode dan simpan dalam file dengan ekstensi .vbs, seperti filename.vbs. Pastikan editor teks Anda tidak menambahkan ekstensi .txt ke file.
  2. Buka jendela prompt perintah dan navigasikan ke direktori tempat Anda menyimpan file.
  3. Ketik filename.vbscscript pada prompt perintah.
  4. Jika Anda tidak dapat mengakses log peristiwa, periksa untuk melihat apakah Anda menjalankan dari prompt perintah Yang ditingkatkan. Beberapa Log Peristiwa, seperti Log Peristiwa Keamanan, dapat dilindungi oleh Kontrol Akses Pengguna (UAC).

Catatan

Secara default, cscript menampilkan output skrip di jendela prompt perintah. Karena skrip WMI dapat menghasilkan output dalam jumlah besar, Anda mungkin ingin mengalihkan output ke file. Ketik filename.vbs > cscript outfile.txt pada prompt perintah untuk mengalihkan output skrip filename.vbs ke outfile.txt.

Tabel berikut ini mencantumkan contoh skrip yang bisa digunakan untuk mendapatkan berbagai jenis data dari komputer lokal.

Bagaimana Caranya... Kelas atau metode WMI
... menyambungkan ke komputer jarak jauh menggunakan WMI? Tentukan salah satu hal berikut ini sebagai bagian dari string koneksi moniker Anda:
  • Nama komputer NetBIOS, seperti "atl-dc-01"
  • Nama domain yang sepenuhnya memenuhi syarat, seperti "atl-dc-01.fabrikam.com"
  • Alamat IPv4, seperti "192.168.1.1"
  • Dimulai dengan Windows Vista, Anda dapat menentukan alamat IPv6 jika komputer target dan komputer tempat Anda membuat koneksi keduanya menjalankan IPv6.
Untuk informasi selengkapnya, lihat Menyambungkan ke WMI di Komputer Jarak Jauh dan Dukungan IPv6 dan IPv4 di WMI.
VB
strComputer = "atl-dc-01"
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery ("Select * from Win32_Process")
For Each objProcess in colProcessList
    Wscript.Echo "Process Name: " & objProcess.Name 
Next
PowerShell
strComputer = "atl-dc-01"
Get-WmiObject -Class Win32_Process -ComputerName $strComputer -Namespace "root\cimv2" | format-list -Property Name
... menjalankan skrip WMI di bawah kredensial alternatif?

Gunakan metode SWbemLocator.ConnectServer , atau IWbemLocator::ConnectServer di C++, dan sertakan nama pengguna dan kata sandi yang sesuai. Anda tidak dapat mengubah kredensial ketika menyambungkan ke komputer lokal. Untuk informasi selengkapnya, lihat Membuat Skrip WMI dan Menyambungkan ke WMI di Komputer Jarak Jauh.

VB
strComputer = "atl-dc-01"
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer (strComputer, "root\cimv2", "fabrikam\administrator", "password")
Set colProcessList = objSWbemServices.ExecQuery("Select * From Win32_Process")
For Each objProcess in colProcessList
    Wscript.Echo "Process Name: " & objProcess.Name 
Next
PowerShell
$StrComputer = "atl-dc-01"
$strCredentials = "FABRIKAM\administrator"
Get-WmiObject -Class Win32_Process -ComputerName $strComputer -Namespace "root\cimv2" -credential $strCredentials `
   -Impersonation Impersonate | format-list -Property Name

Tugas WMI untuk Skrip dan Aplikasi

Contoh Aplikasi WMI C++

TechNet ScriptCenter

`