Fungsi NetUserSetGroups (lmaccess.h)
Fungsi NetUserSetGroups menetapkan keanggotaan grup global untuk akun pengguna tertentu.
Sintaks
NET_API_STATUS NET_API_FUNCTION NetUserSetGroups(
[in] LPCWSTR servername,
[in] LPCWSTR username,
[in] DWORD level,
[in] LPBYTE buf,
[in] DWORD num_entries
);
Parameter
[in] servername
Penunjuk ke string konstanta yang menentukan nama DNS atau NetBIOS dari server jarak jauh tempat fungsi dijalankan. Jika parameter ini NULL, komputer lokal akan digunakan.
[in] username
Penunjuk ke string konstanta yang menentukan nama pengguna untuk mengatur keanggotaan grup global. Untuk informasi lebih lanjut, lihat bagian Keterangan.
[in] level
Tingkat informasi data. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Parameter buf menunjuk ke array struktur GROUP_USERS_INFO_0 yang menentukan nama grup global. |
|
Parameter buf menunjuk ke array struktur GROUP_USERS_INFO_1 yang menentukan nama grup global dengan atribut. |
[in] buf
Penunjuk ke buffer yang menentukan data. Untuk informasi selengkapnya, lihat Buffer Fungsi Manajemen Jaringan.
[in] num_entries
Jumlah entri yang terkandung dalam array yang ditujukkan oleh parameter buf .
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah NERR_Success.
Jika fungsi gagal, nilai yang dikembalikan dapat menjadi salah satu kode kesalahan berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Pengguna tidak memiliki akses ke informasi yang diminta. |
|
Tingkat panggilan sistem tidak benar. Kesalahan ini dikembalikan jika parameter tingkat ditentukan sebagai nilai selain 0 atau 1. |
|
Parameter yang diteruskan tidak valid. Kesalahan ini dikembalikan jika parameter num_entries tidak valid. |
|
Memori tidak cukup tersedia untuk menyelesaikan operasi. |
|
Nama komputer tidak valid. |
|
Operasi ini hanya diperbolehkan pada pengendali domain utama domain. |
|
Nama grup grup yang ditentukan oleh grui0_name dalam struktur GROUP_USERS_INFO_0 atau anggota grui1_name dalam struktur GROUP_USERS_INFO_1 yang ditunjukkan oleh parameter buf tidak ada. |
|
Terjadi kesalahan internal. |
|
Nama pengguna tidak dapat ditemukan. |
Keterangan
Jika Anda memprogram Direktori Aktif, Anda mungkin dapat memanggil metode Antarmuka Layanan Direktori Aktif (ADSI) tertentu untuk mencapai fungsionalitas yang sama yang dapat Anda capai dengan memanggil fungsi pengguna manajemen jaringan. Untuk informasi selengkapnya, lihat IADsUser dan IADsComputer.
Jika Anda memanggil fungsi ini pada pengendali domain yang menjalankan Direktori Aktif, akses diizinkan atau ditolak berdasarkan daftar kontrol akses (ACL) untuk objek yang dapat diamankan. ACL default hanya mengizinkan Admin Domain dan Operator Akun untuk memanggil fungsi ini. Di server anggota atau stasiun kerja, hanya Administrator dan Pengguna Daya yang dapat memanggil fungsi ini. Untuk informasi selengkapnya, lihat Persyaratan Keamanan untuk Fungsi Manajemen Jaringan. Untuk informasi selengkapnya tentang ACL, ACE, dan token akses, lihat Model Access Control.
Pendeskripsi keamanan objek Pengguna digunakan untuk melakukan pemeriksaan akses untuk fungsi ini.
Untuk memberikan keanggotaan pengguna dalam satu grup global yang ada, Anda dapat memanggil fungsi NetGroupAddUser .
Nama akun pengguna dibatasi hingga 20 karakter dan nama grup dibatasi hingga 256 karakter. Selain itu, nama akun tidak dapat dihentikan dengan titik dan tidak dapat menyertakan koma atau salah satu karakter yang dapat dicetak berikut: ", /, , [, ], :, |, <, >, +, =, ;, ?, *. Nama juga tidak dapat menyertakan karakter dalam rentang 1-31, yang tidak dapat dicetak.
Contoh
Sampel kode berikut menunjukkan cara mengatur keanggotaan grup global untuk akun pengguna dengan panggilan ke fungsi NetUserSetGroups . Sampel kode mengisi anggota grui0_name struktur GROUP_USERS_INFO_0 dan memanggil NetUserSetGroups, menentukan tingkat informasi 0.
#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "netapi32.lib")
#include <stdio.h>
#include <windows.h>
#include <lm.h>
int wmain(int argc, wchar_t *argv[])
{
DWORD dwLevel = 0;
GROUP_USERS_INFO_0 gi;
NET_API_STATUS nStatus;
if (argc != 4)
{
fwprintf(stderr, L"Usage: %s \\\\ServerName UserName GroupName\n", argv[0]);
exit(1);
}
//
// Fill in the GROUP_USERS_INFO_0 structure member.
//
gi.grui0_name = argv[3];
//
// Call the NetUserSetGroups function; specify level 0.
//
nStatus = NetUserSetGroups(argv[1],
argv[2],
dwLevel,
(LPBYTE)&gi,
1);
//
// If the call succeeds, inform the user.
//
if (nStatus == NERR_Success)
fwprintf(stderr, L"Group membership has been successful for %s\n", argv[2]);
//
// Otherwise, print the system error.
//
else
fprintf(stderr, "A system error has occurred: %d\n", nStatus);
return 0;
}
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | lmaccess.h (termasuk Lm.h) |
Pustaka | Netapi32.lib |
DLL | Netapi32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk