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
Associação a um objeto usando um SID