Objek SWbemLocator

Anda dapat menggunakan metode objek SWbemLocator untuk mendapatkan objek SWbemServices yang mewakili koneksi ke namespace layanan di komputer lokal atau komputer host jarak jauh. Anda kemudian dapat menggunakan metode objek SWbemServices untuk mengakses WMI. Objek ini dapat dibuat oleh panggilan VBScript CreateObject .

Anggota

Objek SWbemLocator memiliki jenis anggota ini:

Metode

Objek SWbemLocator memiliki metode ini.

Metode Deskripsi
ConnectServer Menyambungkan ke WMI pada komputer yang ditentukan.

Properti

Objek SWbemLocator memiliki properti ini.

Properti Jenis akses Deskripsi
Keamanan_
Baca-saja
Digunakan untuk membaca atau mengubah pengaturan keamanan.

Keterangan

Di bagian atas model objek pustaka skrip WMI adalah objek SWbemLocator. SWbemLocator digunakan untuk membuat koneksi terautentikasi ke namespace layanan WMI, sebanyak fungsi GetObject VBScript dan moniker WMI "winmgmts:" digunakan untuk membuat koneksi terautentikasi ke WMI. Namun, SWbemLocator dirancang untuk mengatasi dua skenario pembuatan skrip tertentu yang tidak dapat dilakukan menggunakan GetObject dan moniker WMI. Anda harus menggunakan SWbemLocator jika Anda perlu:

  • Berikan kredensial pengguna dan kata sandi untuk menyambungkan ke WMI pada komputer jarak jauh. Moniker WMI yang digunakan dengan fungsi GetObject tidak menyertakan mekanisme untuk menentukan kredensial. Sebagian besar aktivitas WMI (termasuk semua yang dilakukan di komputer jarak jauh) memerlukan hak administrator. Jika Anda biasanya masuk menggunakan akun pengguna biasa alih-alih akun administrator, Anda tidak akan dapat melakukan sebagian besar tugas WMI kecuali Anda menjalankan skrip di bawah kredensial alternatif.
  • Sambungkan ke WMI jika Anda menjalankan skrip WMI dari dalam halaman Web. Anda tidak dapat menggunakan fungsi GetObject saat menjalankan skrip yang disematkan dalam halaman HTML karena Internet Explorer melarang penggunaan GetObject karena alasan keamanan.

Selain itu, Anda mungkin ingin menggunakan SWbemLocator untuk terhubung ke WMI jika Anda menemukan string koneksi WMI yang digunakan dengan GetObject membingungkan atau sulit.

Anda menggunakan CreateObject daripada GetObject untuk membuat referensi ke SWbemLocator. Untuk membuat referensi, Anda harus meneruskan fungsi CreateObject pengidentifikasi terprogram SWbemLocator (ProgID) "WbemScripting.SWbemLocator", seperti yang ditunjukkan pada baris 2 dalam sampel skrip berikut. Setelah Anda mendapatkan referensi ke objek SWbemLocator, Anda memanggil metode ConnectServer untuk terhubung ke WMI dan mendapatkan referensi ke objek SWbemServices. Ini ditunjukkan pada baris 3 dari skrip berikut.

strComputer = "."
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set colSWbemObjectSet = objSWbemServices.InstancesOf("Win32_Service")
For Each objSWbemObject In colSWbemObjectSet
    Wscript.Echo "Name: " & objSWbemObject.Name
Next

Untuk menjalankan skrip di bawah kredensial alternatif, sertakan nama pengguna dan kata sandi sebagai parameter tambahan yang diteruskan ke ConnectServer. Misalnya, skrip ini berjalan di bawah kredensial pengguna bernama kenmyer, dengan homerj kata sandi.

strComputer = "atl-dc-01"
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer _
    (strComputer, "root\cimv2", "kenmyer", "homerj")
Set colSWbemObjectSet = objSWbemServices.InstancesOf("Win32_Service")
For Each objSWbemObject In colSWbemObjectSet
    Wscript.Echo "Name: " & objSWbemObject.Name
Next

Anda juga dapat menggunakan format Domain\Nama Pengguna untuk menentukan nama pengguna. Contohnya:

" fabrikam\kenmyer"

Contoh

Contoh PowerShell berikut menggunakan SWbemLocator untuk menyambungkan ke server.

$NameSpace = 'root\ccm'
$ComputerName = 'sccm.company.com'
$WbemLocator = New-Object -ComObject "WbemScripting.SWbemLocator"
$WbemServices = $WbemLocator.ConnectServer($ComputerName, $Namespace)
$WbemClasses = $WbemServices.SubclassesOf()
$WbemClasses

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista
Server minimum yang didukung
Windows Server 2008
Header
Wbemdisp.h
Pustaka jenis
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemLocator
IID
IID_ISWbemLocator

Lihat juga

Membuat Skrip Objek API