Platform SDK: Active Directory, ADSI, and Directory Services

IADsGroup::Add

The IADsGroup::Add method adds an ADSI object to an existing group.

HRESULT IADsGroup::Add(
  BSTR bstrNewItem 
);

Parameters

bstrNewItem
[in] ADsPath of an object being added to the group.

Return Values

This method supports the standard return values, including S_OK. For other return values, see ADSI Error Codes.

Remarks

You can use a SID in the bstrNewItem parameter to add a security principal to a group through the WinNT provider. For example, suppose the SID of a user, "Microsoft\jsmith", is S-1-5-21-35135249072896, the following statement

Dim group As IADsGroup
group.Add("WinNT://S-1-5-21-35135249072896")

is equivalent to

Dim group As IADsGroup
group.Add("WinNT://Microsoft/jsmith")

Adding a member using its SID through the WinNT provider is a new feature in Windows 2000 and the DSCLIENT package.

Example Code [Visual Basic]

The following Visual Basic code snippet illustrates how to add a user object ("jsmith") to the group ("Administrators") on the "Microsoft" domain, using the WinNT provider.

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

The following Visual Basic code snippet illustrates how to add a user object to a group using the LDAP provider.

Dim grp As IADsGroup
Set grp = GetObject("LDAP://CN=Administrators, CN=Users, DC=Microsoft, DC=com")
grp.Add("LDAP://CN=John Smith, OU=Sales,DC=Microsoft,DC=com")

Example Code [C++]

The following C++/C code snippet adds an existing user account to the Administrators group.

IADsGroup *pGroup;
HRESULT hr;
LWPSTR adsPath = L"WinNT://Microsoft/Administrators";
hr = ADsGetObject(adsPath,IID_IADsGroup,(void**)&pGroup);
if(FAILED(hr)) exit(hr);

// assuming the "WinNT://Microsoft/jsmith" user account exists 
// and does not already belong to the Administrators group.

hr = pGroup->Add("WinNT://Microsoft/jsmith");
if(FAILED(hr)) exit(hr);

pGroup->Release();

Requirements

  Windows NT/2000: Requires Windows 2000 (or Windows NT 4.0 with DSClient).
  Windows 95/98: Requires Windows 95 or later (with DSClient).
  Header: Declared in Iads.h.

See Also

IADsMembers, IADsGroup, IADsGroup Property Methods, ADSI Error Codes