Bagikan melalui


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

Lihat juga

Kelas Sistem WMI

__SystemSecurity

Konstanta Keamanan WMI

Win32_ACE

__SystemSecurity::SetSD

Security_Descriptor

Win32_SecurityDescriptor

Mengamankan Namespace WMI