Функция NetGroupSetUsers (lmaccess.h)

Функция NetGroupSetUsers задает членство для указанной глобальной группы. Каждый указанный пользователь регистрируется как член глобальной группы. У пользователей, которых вы не указали, но которые в настоящее время являются членами глобальной группы, будет отменено членство.

Синтаксис

NET_API_STATUS NET_API_FUNCTION NetGroupSetUsers(
  [in] LPCWSTR servername,
  [in] LPCWSTR groupname,
  [in] DWORD   level,
  [in] LPBYTE  buf,
  [in] DWORD   totalentries
);

Параметры

[in] servername

Указатель на константную строку, указывающую DNS- или NetBIOS-имя удаленного сервера, на котором выполняется функция. Если этот параметр имеет значение NULL, используется локальный компьютер.

[in] groupname

Указатель на константную строку, указывающую имя глобальной группы интересов. Дополнительные сведения см. в разделе «Примечания».

[in] level

Информационный уровень данных. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
0
Параметр buf указывает на массив GROUP_USERS_INFO_0 структур, указывающих имена пользователей.
1
Параметр buf указывает на массив GROUP_USERS_INFO_1 структур, указывающих имена пользователей и атрибуты группы.

[in] buf

Указатель на буфер, содержащий данные. Дополнительные сведения см. в разделе Буферы функций управления сетью.

[in] totalentries

Количество записей в буфере, на которые указывает параметр buf .

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение будет NERR_Success.

Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов ошибок.

Код возврата Описание
ERROR_ACCESS_DENIED
У пользователя нет доступа к запрошенной информации.
ERROR_INVALID_LEVEL
Неправильный уровень системного вызова. Эта ошибка возвращается, если параметр уровня был указан как значение, отличное от 0 или 1.
ERROR_INVALID_PARAMETER
Переданный параметр был недопустимым. Эта ошибка возвращается, если параметр totalentries был недопустимым.
ERROR_NOT_ENOUGH_MEMORY
Недостаточно памяти для завершения операции.
NERR_InvalidComputer
Недопустимое имя компьютера.
NERR_NotPrimary
Операция разрешена только на основном контроллере домена.
NERR_GroupNotFound
Не удалось найти имя глобальной группы.
NERR_InternalError
Внутренняя ошибка.
NERR_SpeGroupOp
Операция не допускается в определенных специальных группах. К этим группам относятся группы пользователей, группы администраторов, локальные и гостевые группы.
NERR_UserNotFound
Не удалось найти имя пользователя.

Комментарии

Если вы вызываете эту функцию на контроллере домена под управлением Active Directory, доступ разрешен или запрещен на основе списка управления доступом (ACL) для защищаемого объекта. ACL по умолчанию разрешает вызывать эту функцию только администраторам домена и операторам учетных записей. На рядовом сервере или рабочей станции эту функцию могут вызывать только администраторы и опытные пользователи. Дополнительные сведения см. в разделе Требования к безопасности для функций управления сетью. Дополнительные сведения о списках управления доступом, ACE и маркерах доступа см. в разделе модель контроль доступа.

Дескриптор безопасности объекта Group используется для выполнения проверка доступа для этой функции.

Вы можете заменить членство в глобальной группе совершенно новым списком участников, вызвав функцию NetGroupSetUsers . Ниже приведена типичная последовательность действий для этого.

Замена членства в глобальной группе

  1. Вызовите функцию NetGroupGetUsers , чтобы получить текущий список членства.
  2. Измените возвращенный список участников, чтобы он отражал новое членство.
  3. Вызовите функцию NetGroupSetUsers , чтобы заменить старый список членства новым.
Чтобы предоставить одному пользователю членство в существующей глобальной группе, можно вызвать функцию NetGroupAddUser . Чтобы удалить пользователя из глобальной группы, вызовите функцию NetGroupDelUser .

Имена учетных записей пользователей ограничены 20 символами, а имена групп — 256 символами. Кроме того, имена учетных записей не могут быть завершены точкой и не могут содержать запятые или какие-либо из следующих печатных символов: ", /, , [, ], :, |, <, >, +, =, ;, ?, *. Имена также не могут содержать символы в диапазоне от 1 до 31, которые не могут быть печатными.

При программировании для Active Directory вы можете вызвать определенные методы интерфейса службы Active Directory (ADSI) для достижения тех же функциональных возможностей, которые можно достичь, вызывая функции группы управления сетью. Дополнительные сведения см. в разделе IADsGroup.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header lmaccess.h (включая Lm.h)
Библиотека Netapi32.lib
DLL Netapi32.dll

См. также раздел

GROUP_USERS_INFO_0

GROUP_USERS_INFO_1

Функции групп

NetGroupAddUser

NetGroupDelUser

NetGroupGetUsers

NetUserGetGroups

NetUserSetGroups

Функции управления сетью

Общие сведения об управлении сетью