| Предыдущий | Следующий |
| ERROR_NO_SUCH_GROUP | ERROR_MEMBER_NOT_IN_GROUP |
ERROR_MEMBER_IN_GROUP
description[запрошенное членство в группе уже существует или мешает запрошенному удалению.]Группа уже содержит отношение членства, относящееся к операции
Членство в группе хранится и изменяется отдельно от самого объекта группы. SAMR предоставляет явные методы добавления, удаления и запроса членства, а NetGroupAddUser добавляет существующего пользователя в существующую глобальную группу. ERROR_MEMBER_IN_GROUP может возвращаться при избыточном добавлении; описание Win32 также документирует случай удаления, когда группа всё ещё содержит участника.
Не обрабатывайте оба случая одинаково. Запишите имя операции, удостоверение группы и RID или имя учётной записи участника. Для добавления запросите текущее членство и сделайте процесс идемпотентным, если тот же субъект уже присутствует. Для удаления группы перечислите участников и удалите либо перенесите их в соответствии с политикой. Похожего имени недостаточно: сравнивайте удостоверение субъекта, разрешённое центром полномочий.
Что проверить
- Отделите запрос добавления участника от запроса удаления группы.
- Перечислите текущих участников и сравните фактический SID/RID участника.
- Не выполняйте повторные попытки без изменений: сначала должно измениться членство или предварительное условие удаления.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
