Fungsi GetGPOListW (userenv.h)
Fungsi GetGPOList
USERENVAPI BOOL GetGPOListW(
[in] HANDLE hToken,
[in] LPCWSTR lpName,
[in] LPCWSTR lpHostName,
[in] LPCWSTR lpComputerName,
[in] DWORD dwFlags,
[out] PGROUP_POLICY_OBJECTW *pGPOList
);
[in] hToken
Token untuk pengguna atau komputer, dikembalikan dariLogonUser
Jika parameter ini
[in] lpName
Penunjuk ke nama pengguna atau komputer, dalam format nama khusus yang sepenuhnya memenuhi syarat (misalnya, "CN=pengguna, OU= pengguna, DC=contoso, DC=com").
Jika parameter hToken
[in] lpHostName
Nama domain DNS (lebih disukai) atau nama pengendali domain. Nama pengendali domain dapat diambil menggunakan fungsi
Jika parameter hToken
[in] lpComputerName
Penunjuk ke nama komputer yang digunakan untuk menentukan lokasi situs. Format nama adalah "\\computer_name". Jika parameter ini null, nama komputer lokal digunakan.
[in] dwFlags
Nilai yang menentukan bendera tambahan yang digunakan untuk mengontrol pengambilan informasi. Jika Anda menentukan GPO_LIST_FLAG_MACHINE, fungsi mengambil informasi kebijakan untuk komputer. Jika Anda tidak menentukan GPO_LIST_FLAG_MACHINE, fungsi mengambil informasi kebijakan untuk pengguna.
Jika Anda menentukan GPO_LIST_FLAG_SITEONLY fungsi hanya mengembalikan informasi situs untuk komputer atau pengguna.
[out] pGPOList
Pointer yang menerima daftar struktur GPO. Untuk informasi selengkapnya, lihat GROUP_POLICY_OBJECT.
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Fungsi GetGPOList
Memanggil fungsi ini dengan token menyediakan daftar yang paling akurat. Sistem dapat melakukan pemeriksaan akses untuk pengguna atau komputer. Memanggil fungsi ini dengan nama pengguna atau komputer dan nama pengendali domain lebih cepat daripada memanggilnya dengan token. Namun, jika token tidak ditentukan, sistem menggunakan akses keamanan pemanggil, yang berarti bahwa daftar mungkin tidak benar sepenuhnya untuk pengguna atau komputer yang dimaksudkan.
Untuk mendapatkan daftar GPO yang paling akurat untuk komputer saat memanggil GetGPOList, pemanggil harus memiliki akses baca ke setiap unit organisasi dan situs di domain komputer, dan juga membaca dan menerapkan akses Kebijakan Grup ke semua GPO yang ditautkan ke situs, domain, atau OU domain tersebut. Contoh pemanggil adalah layanan yang berjalan di komputer yang namanya ditentukan dalam parameter
Panggil fungsi
Umumnya, Anda harus memanggil GetGPOList dengan token saat mengambil daftar GPO untuk pengguna seperti yang ditunjukkan dalam contoh kode berikut.
LPGROUP_POLICY_OBJECT pGPOList;
if (GetGPOList (hToken, NULL, NULL, NULL, 0, &pGPOList))
{
// Perform processing here.
//
// Free the GPO list when you finish processing.
FreeGPOList (pGPOList);
}
Biasanya, untuk mengambil daftar GPO untuk komputer, Anda dapat memanggil GetGPOList dengan nama komputer dan nama pengendali domain seperti yang ditunjukkan dalam cuplikan kode berikut.
LPGROUP_POLICY_OBJECT pGPOList;
if (GetGPOList (NULL, lpMachineName, lpHostName, lpMachineName, GPO_LIST_FLAG_MACHINE, &pGPOList))
{
// Perform processing here.
//
// Free the GPO list when you finish processing.
FreeGPOList (pGPOList);
}
Untuk mengambil daftar GPO yang diterapkan untuk pengguna atau komputer dan ekstensi tertentu, panggil fungsi GetAppliedGPOList.
Catatan
Header userenv.h mendefinisikan GetGPOList sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows Vista |
server minimum yang didukung |
Windows Server 2008 |
Platform Target |
Windows |
Header |
userenv.h |
Pustaka |
Userenv.lib |
DLL |
Userenv.dll |
FreeGPOList
Fungsi Kebijakan Grup
Gambaran Umum Kebijakan Grup