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 |
|
Pustaka jenis |
|
DLL |
|
CLSID |
CLSID_SWbemLocator |
IID |
IID_ISWbemLocator |