Properti SWbemSecurity.ImpersonationLevel

Properti ImpersonationLevel adalah bilangan bulat yang menentukan tingkat peniruan COM yang ditetapkan ke objek ini. Pengaturan ini menentukan apakah proses yang dimiliki oleh Windows Management Instrumentation (WMI) dapat mendeteksi atau menggunakan kredensial keamanan Anda saat melakukan panggilan ke proses lain. Untuk informasi selengkapnya tentang tingkat peniruan, lihat Mengatur keamanan Client_Application_Process.

Jika Anda tidak mengatur tingkat peniruan secara khusus di moniker, atau dengan mengatur properti SWBemSecurity.ImpersonationLevel pada objek yang dapat diamankan, WMI mengatur tingkat peniruan default ke nilai yang ditentukan dalam kunci registri tingkat peniruan default. Jika pengaturan ini tidak cukup, penyedia tidak melayani permintaan Anda, dan panggilan ke API WMI dapat gagal dengan kode kesalahan wbemErrAccessDenied (2147749891/0x80041003).

Untuk penjelasan tentang sintaks ini, lihat Konvensi Dokumen untuk Scripting API.

Properti ini bersifat baca/tulis.

Sintaks

SWbemSecurity.ImpersonationLevel As Integer

Nilai properti

Keterangan

Sebagai tingkat peniruan DCOM, properti ini dapat diatur ke salah satu nilai berikut:

Nilai Deskripsi
Anonim Menyembunyikan kredensial pemanggil. WMI sebenarnya tidak mendukung tingkat peniruan ini; jika skrip menentukan impersonationLevel=Anonymous, WMI akan secara diam-diam meningkatkan tingkat peniruan ke Identifikasi. Namun, ini dalam beberapa cara, latihan yang tidak berarti, karena skrip yang menggunakan tingkat Identifikasi cenderung gagal.
Identifikasi Memungkinkan objek untuk mengkueri kredensial pemanggil. Skrip yang menggunakan tingkat peniruan ini kemungkinan gagal; Tingkat Identifikasi biasanya memungkinkan Anda melakukan tidak lebih dari memeriksa daftar kontrol akses. Anda tidak akan dapat menjalankan skrip terhadap komputer jarak jauh menggunakan Identifikasi.
Meniru Memungkinkan objek untuk menggunakan kredensial pemanggil. Disarankan agar Anda menggunakan tingkat peniruan ini dengan skrip WMI. Ketika Anda melakukannya, skrip WMI akan menggunakan kredensial pengguna Anda; akibatnya, ia akan dapat melakukan tugas apa pun yang dapat Anda lakukan.
Delegasikan Memungkinkan objek untuk mengizinkan objek lain menggunakan kredensial pemanggil. Delegasi memungkinkan skrip menggunakan kredensial Anda pada komputer jarak jauh lalu memfungsikan komputer jarak jauh tersebut untuk menggunakan kredensial Anda pada komputer jarak jauh lain. Meskipun Anda dapat menggunakan tingkat peniruan ini dalam skrip WMI, Anda harus melakukannya hanya jika perlu karena mungkin menimbulkan risiko keamanan.
Anda tidak dapat menggunakan tingkat Peniruan Delegasi kecuali semua akun pengguna dan akun komputer yang terlibat dalam transaksi semuanya telah ditandai sebagai Tepercaya untuk delegasi di Direktori Aktif. Ini membantu meminimalkan risiko keamanan. Meskipun komputer jarak jauh dapat menggunakan kredensial Anda, komputer dapat melakukannya hanya jika komputer dan komputer lain yang terlibat dalam transaksi dipercaya untuk delegasi.

Seperti disebutkan, Peniruan identitas Anonim menyembunyikan kredensial Anda dan Mengidentifikasi mengizinkan objek jarak jauh untuk mengkueri kredensial Anda, tetapi objek jarak jauh tidak dapat meniru konteks keamanan Anda. (Dengan kata lain, meskipun objek jarak jauh tahu siapa Anda, itu tidak dapat "berpura-pura" menjadi Anda.) Skrip WMI yang mengakses komputer jarak jauh menggunakan salah satu dari dua pengaturan ini umumnya akan gagal. Bahkan, sebagian besar skrip berjalan di komputer lokal menggunakan salah satu dari dua pengaturan ini juga akan gagal.

Meniru izin layanan WMI jarak jauh untuk menggunakan konteks keamanan Anda untuk melakukan operasi yang diminta. Permintaan WMI jarak jauh yang menggunakan pengaturan Impersonate biasanya berhasil, asalkan kredensial Anda memiliki hak istimewa yang memadai untuk melakukan operasi yang dimaksudkan. Dengan kata lain, Anda tidak dapat menggunakan WMI untuk melakukan tindakan (dari jarak jauh atau sebaliknya) yang tidak memiliki izin untuk melakukan di luar WMI.

Mengatur impersonationLevel ke Delegasi memungkinkan layanan WMI jarak jauh untuk meneruskan kredensial Anda ke objek lain dan umumnya dianggap sebagai risiko keamanan.

Anda dapat mengatur tingkat peniruan objek SWbemServices, SWbemObject, SWbemObjectSet, SWbemObjectPath, dan SwbemLocator dengan mengatur properti ImpersonationLevel ke nilai yang diinginkan. Contoh berikut menunjukkan cara mengatur tingkat peniruan untuk objek SWbemObject :

objinstance.Security_.ImpersonationLevel = _
    wbemImpersonationLevelImpersonate

Anda juga dapat menentukan tingkat peniruan sebagai bagian dari moniker. Contoh berikut menetapkan tingkat autentikasi dan tingkat peniruan, dan mengambil instans Win32_Service.

Set objinst = GetObject("WinMgmts:{impersonationLevel=impersonate,"& _
                         "authenticationLevel=pktPrivacy}"& _
                         "!root/cimv2:Win32_service='ALERTER'")

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista
Server minimum yang didukung
Windows Server 2008
Pustaka jenis
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemSecurity
IID
IID_ISWbemSecurity

Lihat juga

Keamanan SWbem

Mengatur Keamanan Client_Application_Process

WbemImpersonationLevelEnum