Membuat String Moniker

Format string moniker mirip dengan jalur objek WMI standar. Untuk informasi selengkapnya, lihat Persyaratan Jalur Objek WMI.

Moniker memiliki bagian-bagian berikut:

  • Awalan WinMgmts: (wajib). Awalan menginstruksikan Windows Script Host (WSH) bahwa kode berikut akan menggunakan objek Scripting API.
  • Komponen pengaturan keamanan (opsional)
  • Komponen jalur objek WMI (opsional)

Anda tidak dapat menentukan kata sandi dalam string moniker WMI. Jika Anda harus mengubah kata sandi (parameter strPassword ) atau jenis autentikasi (parameter strAuthority ) saat menyambungkan ke WMI, maka panggil SWbemLocator.ConnectServer. Ketahuilah bahwa Anda hanya dapat menentukan kata sandi dan otoritas dalam koneksi ke komputer jarak jauh. Mencoba menyetel ini dalam skrip yang berjalan pada komputer lokal mengakibatkan kesalahan. Untuk informasi selengkapnya tentang kapan pengaturan keamanan dan komponen jalur objek digunakan, lihat Pengaturan Keamanan WMI.

Moniker berikut menentukan objek SWbemServices yang mewakili namespace root\default, dengan peniruan identitas pada dan hak istimewa wbemPrivilegeDebug (SeDebugPrivilege) diaktifkan, dan hak istimewa wbemPrivilegeSecurity (SeSecurityPrivilege) dinonaktifkan.

"winmgmts:{impersonationLevel=impersonate," & "(debug,!security)}!root\default"

Catatan

Semua literal string tidak peka huruf besar/kecil.

Awalan "!" pada hak istimewa menunjukkan bahwa hak istimewa akan dinonaktifkan; kelalaian awalan ini menyiratkan bahwa hak istimewa akan diaktifkan.

Awalan "!" digunakan pada nama komputer atau namespace ketika pengaturan keamanan ditentukan dalam tanda kurung sebelum nama komputer atau namespace layanan.

 

Penetapan default berikut diperbolehkan saat menentukan jalur objek:

  • Nama komputer komputer dapat dihilangkan dari jalur objek, dalam hal ini nama komputer lokal diasumsikan.

  • Namespace dapat dihilangkan dari jalur objek, dalam hal ini namespace default diasumsikan.

    Ini ditentukan oleh nilai kunci registri HKEY_LOCAL_MACHINE\Perangkat Lunak\Microsoft\WBEM\Scripting\Default Namespace, nilai defaultnya adalah "Root\CIMv2".

  • Kelas atau instans juga dapat ditentukan, dalam hal ini objek yang dikembalikan adalah objek WMI daripada objek layanan.

Catatan

Jika kelas atau instans ditentukan, Anda tidak dapat menghilangkan namespace saat menentukan nama komputer komputer.

 

Untuk referensi Konstanta Hak Istimewa yang digunakan pada string moniker WMI, lihat Konstanta Hak Istimewa, dan deskriptor "Nama pendek skrip".

String Moniker yang Valid

Contoh berikut menunjukkan string moniker yang valid.

Moniker berikut mengidentifikasi namespace default di komputer lokal. Objek SWbemServices dikembalikan.

WinMgmts:

Moniker berikut mengidentifikasi namespace default di komputer myServer. Objek SWbemServices dikembalikan.

"WinMgmts://myServer"

Moniker berikut mengidentifikasi namespace root\cimv2 pada komputer myServer. Objek SWbemServices dikembalikan.

"WinMgmts://myServer/root/cimv2"

Moniker berikut mengidentifikasi namespace root\cimv2 di server lokal. Objek SWbemServices dikembalikan.

"WinMgmts:root/cimv2"

Moniker berikut mengidentifikasi kelas Win32_LogicalDisk di namespace root\cimv2 di server myServer. Objek SWbemObject dikembalikan.

"WinMgmts:{impersonationLevel=impersonate}" _
    & "!//myServer/root/cimv2:Win32_LogicalDisk"

Moniker berikut mengidentifikasi kelas Win32_LogicalDisk di namespace root\cimv2 di server lokal. Objek SWbemObject dikembalikan.

"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk"

Moniker berikut mengidentifikasi kelas Win32_LogicalDisk di namespace default di server lokal. Objek SWbemObject dikembalikan.

"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk"

Moniker berikut mengidentifikasi instans Win32_LogicalDisk yang sesuai dengan drive C: di namespace layanan skrip default di server lokal. Objek SWbemObject dikembalikan. Namespace default untuk pembuatan skrip ditentukan oleh pengaturan konfigurasi namespace default seperti yang ditentukan dalam Kontrol WMI. Untuk informasi selengkapnya, lihat Mengatur Keamanan Namespace layanan dengan Kontrol WMI.

"WinMgmts::Win32_LogicalDisk='C:'"

Moniker berikut mengidentifikasi instans Win32_LogicalDisk yang sesuai dengan drive C: di namespace root\cimv2 di server myServer. Objek SWbemObject dikembalikan.

"WinMgmts:{impersonationLevel=impersonate}" & "!//myServer/root/cimv2:Win32_LogicalDisk="C:""

Moniker berikut mengidentifikasi instans Win32_LogicalDisk yang sesuai dengan drive C: di namespace root\cimv2 di server lokal. Objek SWbemObject dikembalikan.

"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk="C:""

Moniker berikut mengidentifikasi instans Win32_LogicalDisk yang sesuai dengan drive C: di namespace default di server lokal. Objek SWbemObject dikembalikan.

"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk="C:""

Moniker berikut menetapkan tingkat peniruan identitas untuk meniru dan menetapkan hak istimewa SE_DEBUG.

"WinMgmts:{impersonationLevel=impersonate, (Debug)}"

Moniker berikut menetapkan tingkat peniruan identitas untuk meniru dan menetapkan hak istimewa SE_DEBUG. Ini juga mencabut hak istimewa SE_SHUTDOWN.

"WinMgmts:{impersonate,(Debug,!Shutdown)}"

Moniker berikut mengambil deskripsi lokal bahasa Inggris Amerika untuk kelas myclass dari namespace root\wmi.

"WinMgmts:[locale=ms_409]!root/wmi:myclass"

Moniker berikut meminta autentikasi Kerberos menggunakan mydomain\server utama.

"Winmgmts:{impersonationLevel=delegate," _
    & "authority=kerberos:mydomain\server}" _
    & "!//myserver/root/default:__cimomidentification=@"

Moniker berikut meminta autentikasi NTLM menggunakan domain mydomain.

"Winmgmts:{impersonationLevel=impersonate," & _
    "authority=ntlmdomain:mydomain} " & _
    "!//myserver/root/default:__cimomidentification=@

Contoh kode VBScript berikut menunjukkan cara menggabungkan parameter keamanan dan lokal dalam moniker.

'*****************************************************************
'   Name    :  Moniker.vbs
'
'   Purpose :  This example shows how to set various 
'              parameters in a moniker. 
'****************************************************************

Set myobj = GetObject("WINMGMTS:" _
            & "{impersonationLevel=impersonate," _
            & "authenticationLevel=pktPrivacy," _
            & "authority=ntlmdomain:mydomain," _
            & "(Debug,!Shutdown)}" _
            & "[locale=ms_409]" _
            & "!\\User1\ROOT\CIMV2:Win32_LogicalDisk=""C:""")

wscript.echo "File system = " & myobj.filesystem

Catatan

Meskipun moniker memberikan akses lebih langsung ke objek, dalam keadaan tertentu, penggunaan moniker berulang mungkin kurang efisien daripada kode yang setara yang secara eksplisit terhubung ke WMI. Jika performa aplikasi adalah pertimbangan, pertimbangkan untuk menggunakan mekanisme alternatif.

Tidak dimungkinkan untuk menggunakan fungsi GetObject yang disediakan oleh VBScript untuk memperbarui atau mengatur data saat menjalankan skrip yang disematkan dalam halaman HTML, karena Microsoft Internet Explorer menolak penggunaan panggilan ini karena alasan keamanan.