다음을 통해 공유


IADsGroup::Add 메서드(iads.h)

IADsGroup::Add 메서드는 기존 그룹에 ADSI 개체를 추가합니다.

구문

HRESULT Add(
  [in] BSTR bstrNewItem
);

매개 변수

[in] bstrNewItem

그룹에 추가할 개체의 ADsPath를 지정하는 BSTR 을 포함합니다. 자세한 내용은 설명 부분을 참조하세요.

반환 값

다음은 가장 일반적인 반환 값입니다. 반환 값에 대한 자세한 내용은 ADSI 오류 코드를 참조하세요.

설명

LDAP 공급자를 사용하여 IADsGroup 개체에 바인딩하는 경우 bstrNewItem 매개 변수에 동일한 형식의 ADsPath를 지정해야 합니다. 예를 들어 IADsGroup 개체에 바인딩하는 데 사용되는 ADsPath 에 서버가 포함된 경우 bstrNewItem 매개 변수의 ADsPath에 동일한 서버 접두사를 포함해야 합니다. 마찬가지로 서버리스 경로를 사용하여 IADsGroup 개체에 바인딩하는 경우 bstrNewItem 매개 변수에도 서버리스 경로가 포함되어야 합니다. 서버 접두사를 사용하는 경우 요청이 잘못된 도메인 컨트롤러로 전송되고 올바른 도메인의 도메인 컨트롤러를 참조하여 다시 시도될 수 있으므로 그룹 및 새 멤버가 서로 다른 도메인에 있는 경우 지연이 발생할 수 있습니다. GUID 또는 SID(보안 식별자) ADsPath를 사용하여 멤버를 추가하거나 제거할 때 예외가 발생합니다. 이 경우 서버리스 경로는 항상 bstrNewItem에서 사용해야 합니다.

Active Directory용 LDAP 공급자를 사용하면 멤버 SID의 문자열 형식을 사용하여 멤버를 그룹에 추가할 수 있습니다. bstrNewItem 매개 변수는 다음 형식의 SID 문자열을 포함할 수 있습니다.

LDAP://SID=<010500000000000515000000c6bb507afbda8b7f43170a325b040000>

Active Directory의 SID 문자열에 대한 자세한 내용은 SID를 사용하여 개체에 바인딩을 참조하세요.

또한 Active Directory용 WinNT 공급자를 사용하면 멤버 SID의 문자열 형식을 사용하여 멤버를 그룹에 추가할 수 있습니다. bstrNewItem 매개 변수는 다음 형식의 SID 문자열을 포함할 수 있습니다.

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

예제

다음 코드 예제에서는 WinNT 공급자를 사용하여 "Fabrikam" 도메인의 그룹("Administrators")에 사용자 개체("jeff")를 추가하는 방법을 보여 줍니다.

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

다음 코드 예제에서는 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

다음 코드 예제에서는 기존 사용자 계정을 Administrators 그룹에 추가합니다.

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;

요구 사항

   
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 iads.h
DLL Activeds.dll

참고 항목

ADSI 오류 코드

SID를 사용하여 개체에 바인딩

IADsGroup

IADsGroup 속성 메서드

IADsMembers