Função NetGroupSetUsers (lmaccess.h)

A função NetGroupSetUsers define a associação para o grupo global especificado. Cada usuário especificado é registrado como membro do grupo global. Os usuários que você não especificar, mas que atualmente são membros do grupo global, terão sua associação revogada.

Sintaxe

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

Parâmetros

[in] servername

Um ponteiro para uma cadeia de caracteres constante que especifica o nome DNS ou NetBIOS do servidor remoto no qual a função deve ser executada. Se esse parâmetro for NULL, o computador local será usado.

[in] groupname

Um ponteiro para uma cadeia de caracteres constante que especifica o nome do grupo global de interesse. Para obter mais informações, consulte a seção Comentários.

[in] level

O nível de informações dos dados. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
0
O parâmetro buf aponta para uma matriz de estruturas de GROUP_USERS_INFO_0 que especificam nomes de usuário.
1
O parâmetro buf aponta para uma matriz de estruturas de GROUP_USERS_INFO_1 que especifica os nomes de usuário e os atributos do grupo.

[in] buf

Um ponteiro para o buffer que contém os dados. Para obter mais informações, consulte Buffers de função de gerenciamento de rede.

[in] totalentries

O número de entradas no buffer apontado pelo parâmetro buf .

Retornar valor

Se a função for bem-sucedida, o valor retornado será NERR_Success.

Se a função falhar, o valor retornado poderá ser um dos seguintes códigos de erro.

Código de retorno Descrição
ERROR_ACCESS_DENIED
O usuário não tem acesso às informações solicitadas.
ERROR_INVALID_LEVEL
O nível de chamada do sistema não está correto. Esse erro será retornado se o parâmetro de nível tiver sido especificado como um valor diferente de 0 ou 1.
ERROR_INVALID_PARAMETER
Um parâmetro passado não era válido. Esse erro será retornado se o parâmetro totalentries não for válido.
ERROR_NOT_ENOUGH_MEMORY
Memória insuficiente disponível para concluir a operação.
NERR_InvalidComputer
O nome do computador é inválido.
NERR_NotPrimary
A operação é permitida somente no controlador de domínio primário do domínio.
NERR_GroupNotFound
Não foi possível encontrar o nome do grupo global.
NERR_InternalError
Ocorreu um erro interno.
NERR_SpeGroupOp
A operação não é permitida em determinados grupos especiais. Esses grupos incluem grupos de usuários, grupos de administradores, grupos locais e grupos de convidados.
NERR_UserNotFound
Não foi possível encontrar o nome de usuário.

Comentários

Se você chamar essa função em um controlador de domínio que está executando o Active Directory, o acesso será permitido ou negado com base na ACL (lista de controle de acesso) do objeto protegível. A ACL padrão permite que apenas administradores de domínio e operadores de conta chamem essa função. Em um servidor membro ou estação de trabalho, somente administradores e usuários de energia podem chamar essa função. Para obter mais informações, consulte Requisitos de segurança para as funções de gerenciamento de rede. Para obter mais informações sobre ACLs, ACEs e tokens de acesso, consulte Controle de Acesso Model.

O descritor de segurança do objeto Group é usado para executar o marcar de acesso para essa função.

Você pode substituir a associação de grupo global por uma lista totalmente nova de membros chamando a função NetGroupSetUsers . A sequência típica de etapas a serem executadas a seguir.

Para substituir a associação de grupo global

  1. Chame a função NetGroupGetUsers para recuperar a lista de associações atual.
  2. Modifique a lista de associações retornada para refletir a nova associação.
  3. Chame a função NetGroupSetUsers para substituir a lista de associações antiga pela nova lista de associações.
Para conceder uma associação de usuário em um grupo global existente, você pode chamar a função NetGroupAddUser . Para remover um usuário de um grupo global, chame a função NetGroupDelUser .

Os nomes de conta de usuário são limitados a 20 caracteres e os nomes de grupo são limitados a 256 caracteres. Além disso, os nomes de conta não podem ser encerrados por um período e não podem incluir vírgulas ou qualquer um dos seguintes caracteres imprimíveis: ", /, , [, ], :, |, <, , >, +, =, ;, ?, *. Os nomes também não podem incluir caracteres no intervalo de 1 a 31, que são não imprimíveis.

Se você estiver programando para o Active Directory, poderá chamar determinados métodos ADSI (Active Directory Service Interface) para obter a mesma funcionalidade que você pode obter chamando as funções do grupo de gerenciamento de rede. Para obter mais informações, consulte IADsGroup.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho lmaccess.h (inclua Lm.h)
Biblioteca Netapi32.lib
DLL Netapi32.dll

Confira também

GROUP_USERS_INFO_0

GROUP_USERS_INFO_1

Funções de grupo

NetGroupAddUser

NetGroupDelUser

NetGroupGetUsers

NetUserGetGroups

NetUserSetGroups

Funções de gerenciamento de rede

Visão geral do gerenciamento de rede