Поделиться через


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

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

Синтаксис

NET_API_STATUS NET_API_FUNCTION NetLocalGroupSetMembers(
  [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
Указывает идентификатор безопасности (SID), связанный с членом локальной группы. Параметр buf указывает на массив LOCALGROUP_MEMBERS_INFO_0 структур.
3
Указывает учетные записи и доменные имена участника локальной группы. Параметр buf указывает на массив LOCALGROUP_MEMBERS_INFO_3 структур.

[in] buf

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

[in] totalentries

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

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

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

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

Код возврата Описание
NERR_GroupNotFound
Группа, указанная параметром groupname, не существует.
ERROR_ACCESS_DENIED
У пользователя нет доступа к запрошенной информации.
ERROR_NO_SUCH_MEMBER
Один или несколько элементов не существует. Членство в локальной группе не было изменено.
ERROR_INVALID_MEMBER
Невозможно добавить одного или нескольких участников, так как он имеет недопустимый тип учетной записи. Членство в локальной группе не было изменено.

Комментарии

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

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

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

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

  1. Вызовите функцию NetLocalGroupGetMembers , чтобы получить текущий список членства.
  2. Измените возвращенный список участников, чтобы он отражал новое членство.
  3. Вызовите функцию NetLocalGroupSetMembers , чтобы заменить старый список членства новым.
Чтобы добавить одну или несколько существующих учетных записей пользователей или глобальных групп в существующую локальную группу, можно вызвать функцию NetLocalGroupAddMembers . Чтобы удалить одного или нескольких членов из существующей локальной группы, вызовите функцию NetLocalGroupDelMembers .

Имена учетных записей пользователей ограничены 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

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

LOCALGROUP_MEMBERS_INFO_0

LOCALGROUP_MEMBERS_INFO_3

Функции локальных групп

NetLocalGroupAddMembers

NetLocalGroupDelMembers

NetLocalGroupGetMembers

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

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