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 tersebut 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 ( parameterstrAuthority) 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 objekSWbemServices yang mewakili namespace root\default, dengan peniruan diaktifkan serta hak istimewa wbemPrivilegeDebug (SeDebugPrivilege) diaktifkan, dan hak istimewa wbemPrivilegeSecurity (SeSecurityPrivilege) dinonaktifkan.
"winmgmts:{impersonationLevel=impersonate," & "(debug,!security)}!root\default"
Nota
Semua literal string bersifat tidak sensitif terhadap huruf besar atau 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.
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.
Nota
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".
Rangkaian 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 di komputer myServer. Sebuah objek SWbemServicesdikembalikan.
"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. ObjekSWbemObjectdikembalikan.
"WinMgmts:{impersonationLevel=impersonate}" _
& "!//myServer/root/cimv2:Win32_LogicalDisk"
Moniker berikut mengidentifikasi kelas Win32_LogicalDisk di namespace root\cimv2 di server lokal. ObjekSWbemObjectdikembalikan.
"WinMgmts:{impersonationLevel=impersonate}" & "!root/cimv2:Win32_LogicalDisk"
Moniker berikut mengidentifikasi kelas Win32_LogicalDisk di namespace default di server lokal. ObjekSWbemObjectdikembalikan.
"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk"
Moniker berikut mengidentifikasi instans Win32_LogicalDisk yang sesuai dengan drive C: di namespace layanan skrip default di server lokal. ObjekSWbemObjectdikembalikan. Namespace default untuk pembuatan skrip ditentukan oleh pengaturan konfigurasi namespace default seperti yang ditentukan dalam Kontrol WMI. Untuk informasi selengkapnya, lihat Mengatur Keamanan Namespace 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. ObjekSWbemObjectdikembalikan.
"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. ObjekSWbemObjectdikembalikan.
"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. ObjekSWbemObjectdikembalikan.
"WinMgmts:{impersonationLevel=impersonate}" & "!Win32_LogicalDisk="C:""
Moniker berikut menetapkan tingkat peniruan untuk meniru dan menetapkan hak istimewa SE_DEBUG.
"WinMgmts:{impersonationLevel=impersonate, (Debug)}"
Moniker berikut menetapkan tingkat peniruan untuk meniru dan menetapkan hak istimewa SE_DEBUG. Ini juga mencabut hak istimewa SE_SHUTDOWN.
"WinMgmts:{impersonate,(Debug,!Shutdown)}"
Moniker berikut mengambil deskripsi bahasa Inggris Amerika yang dilokalkan untuk kelas myclass dari namespace root\wmi.
"WinMgmts:[locale=ms_409]!root/wmi:myclass"
Moniker berikut meminta autentikasi Kerberos menggunakan principal mydomain\server.
"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
Nota
Meskipun moniker menyediakan akses yang lebih langsung ke objek, dalam keadaan tertentu, penggunaan berulang moniker 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.