Compartilhar via


Método IADsGroup::Add (iads.h)

O método IADsGroup::Add adiciona um objeto ADSI a um grupo existente.

Sintaxe

HRESULT Add(
  [in] BSTR bstrNewItem
);

Parâmetros

[in] bstrNewItem

Contém um BSTR que especifica o ADsPath do objeto a ser adicionado ao grupo. Para obter mais informações, consulte Comentários.

Valor retornado

Veja a seguir os valores retornados mais comuns. Para obter mais informações sobre valores retornados, consulte Códigos de erro ADSI.

Comentários

Se o provedor LDAP for usado para associar ao objeto IADsGroup , a mesma forma de ADsPath deverá ser especificada no parâmetro bstrNewItem . Por exemplo, se o ADsPath usado para associar ao objeto IADsGroup incluir um servidor, o ADsPath no parâmetro bstrNewItem deverá conter o mesmo prefixo de servidor. Da mesma forma, se um caminho sem servidor for usado para associar ao objeto IADsGroup , o parâmetro bstrNewItem também deverá conter um caminho sem servidor. Ao usar o prefixo do servidor, os atrasos poderão ocorrer se o grupo e o novo membro forem de domínios diferentes, pois as solicitações podem ser enviadas para o controlador de domínio errado e encaminhadas para um controlador de domínio do domínio correto e repetidas lá. Ocorre uma exceção ao adicionar ou remover um membro usando um ADsPath do GUID ou do SID (identificador de segurança). Nesse caso, um caminho sem servidor sempre deve ser usado em bstrNewItem.

O provedor LDAP para Active Directory permite que um membro seja adicionado a um grupo usando a forma de cadeia de caracteres do SID membro. O parâmetro bstrNewItem pode conter uma cadeia de caracteres SID no formulário a seguir.

LDAP://SID=<010500000000000515000000c6bb507afbda8b7f43170a325b040000>

Para obter mais informações sobre cadeias de caracteres SID no Active Directory, consulte Associação a um objeto usando um SID.

O provedor WinNT para Active Directory também permite que um membro seja adicionado a um grupo usando a forma de cadeia de caracteres do SID do membro. O parâmetro bstrNewItem pode conter uma cadeia de caracteres SID no formulário a seguir.

WinNT://S-1-5-21-35135249072896"

Exemplos

O exemplo de código a seguir mostra como adicionar um objeto de usuário ("jeff") ao grupo ("Administradores") no domínio "Fabrikam", usando o provedor WinNT.

Dim grp As IADsGroup
Set grp = GetObject("WinNT://Fabrikam/Administrators")
grp.Add ("WinNT://Fabrikam/jeff")

O exemplo de código a seguir mostra como adicionar um objeto de usuário a um grupo usando o provedor LDAP.

Dim grp As IADsGroup
On Error GoTo Cleanup

Set grp = GetObject("LDAP://CN=Administrators, CN=Users, DC=Fabrikam, DC=com")
grp.Add("LDAP://CN=Jeff Smith, OU=Sales,DC=Fabrikam,DC=com")

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set grp = Nothing

O exemplo de código a seguir adiciona uma conta de usuário existente ao grupo Administradores.

IADsGroup *pGroup = NULL;
HRESULT hr = S_OK;
LPWSTR adsPath = L"WinNT://Fabrikam/Administrators";
hr = ADsGetObject(adsPath,IID_IADsGroup,(void**)&pGroup);
if(FAILED(hr)) {goto Cleanup;}

// This assumes that the "WinNT://Fabrikam/jeff" user account exists 
// and does not already belong to the Administrators group.

hr = pGroup->Add(_bstr_t("WinNT://Fabrikam/jeff"));
if(FAILED(hr)){goto Cleanup;}

Cleanup:
    if(pGroup)
        pGroup->Release();

    return hr;

Requisitos

   
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho iads.h
DLL Activeds.dll

Confira também

Códigos de erro ADSI

Associação a um objeto usando um SID

IADsGroup

Métodos de propriedade IADsGroup

IADsMembers