Metode GetSD dari kelas __SystemSecurity
Metode GetSD mendapatkan pendeskripsi keamanan untuk namespace tempat pengguna terhubung. Metode ini mengembalikan deskriptor keamanan dalam format array byte biner. Jika Anda menulis skrip, gunakan metode GetSecurityDescriptor . Untuk informasi selengkapnya, lihat Mengamankan Namespace WMI dan Mengubah Keamanan Akses pada Objek yang Dapat Diamankan.
Pengguna harus memiliki izin READ_CONTROL . Secara default, administrator memiliki izin tersebut. Satu-satunya bagian dari deskriptor keamanan yang benar-benar digunakan adalah daftar kontrol akses diskresi (DACL). DACL dapat berisi ACE yang diwariskan dan tidak diwariskan. Tolak dan izinkan ACE diizinkan.
Jika Anda memprogram di C++, Anda dapat memanipulasi deskriptor keamanan biner menggunakan SDDL, dan metode konversi ConvertSecurityDescriptorToStringSecurityDescriptor dan ConvertStringSecurityDescriptorToSecurityDescriptor.
Sintaks
HRESULT GetSD(
[out] uint8 SD[]
);
Parameter
-
SD [out]
-
Deskriptor keamanan dalam format array byte biner.
Menampilkan nilai
Metode ini mengembalikan HRESULT yang menunjukkan status panggilan metode. Daftar berikut mencantumkan nilai yang dikembalikan yang penting untuk GetSD. Untuk aplikasi pembuatan skrip dan Visual Basic, hasilnya dapat diperoleh dari OutParameters.ReturnValue. Untuk informasi selengkapnya, lihat Membuat Objek InParameters dan Mengurai Objek OutParameters.
-
S_OK
-
Metode berhasil dijalankan.
-
WBEM_E_ACCESS_DENIED
-
Penelepon tidak memiliki hak yang memadai untuk memanggil metode ini.
-
WBEM_E_METHOD_DISABLED
-
Mencoba menjalankan metode ini pada sistem yang tidak didukung.
Keterangan
Untuk informasi selengkapnya tentang memodifikasi keamanan namespace secara terprogram atau manual, lihat Mengamankan Namespace WMI.
Contoh
Skrip berikut menunjukkan kepada Anda cara menggunakan GetSD untuk mendapatkan deskriptor keamanan saat ini untuk namespace Root\Cimv2 dan mengubahnya ke array byte yang diperlihatkan di DisplaySD.
Set objServices = GetObject("winmgmts:root\cimv2")
Set CimV2 = objServices.Get("__SystemSecurity=@")
ReturnValue = Cimv2.GetSD(arrSD)
If Err <> 0 Then
WScript.Echo "Method returned error " & ReturnValue
End If
DisplaySD = "SD = {"
For I = Lbound(arrSD) To Ubound(arrSD)
DisplaySD = DisplaySD & arrSD(I)
If I <> Ubound(arrSD) Then
DisplaySD = DisplaySD & ","
End If
Next
DisplaySD = DisplaySD & "}"
WScript.Echo DisplaySD
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows Vista |
Server minimum yang didukung |
Windows Server 2008 |
Ruang nama |
Semua namespace WMI |