IADsGroup::Remove 메서드(iads.h)
IADsGroup::Remove 메서드는 이 그룹에서 지정된 사용자 개체를 제거합니다. 이 작업은 그룹에 남아 있는 멤버가 없는 경우에도 그룹 개체 자체를 제거하지 않습니다.
구문
HRESULT Remove(
[in] BSTR bstrItemToBeRemoved
);
매개 변수
[in] bstrItemToBeRemoved
그룹에서 제거할 개체의 ADsPath를 지정하는 BSTR 을 포함합니다. 이 매개 변수에 대한 자세한 내용은 설명 섹션을 참조하세요.
반환 값
다음은 가장 일반적인 반환 값입니다. 반환 값에 대한 자세한 내용은 ADSI 오류 코드를 참조하세요.
설명
LDAP 공급자를 사용하여 IADsGroup 개체에 바인딩하는 경우 bstrItemToBeRemoved 매개 변수에 동일한 형식의 ADsPath를 지정해야 합니다. 예를 들어 IADsGroup 개체에 바인딩하는 데 사용되는 ADsPath에 서버가 포함된 경우 bstrItemToBeRemoved 매개 변수의 ADsPath에 동일한 서버 접두사를 포함해야 합니다. 마찬가지로 서버리스 경로를 사용하여 IADsGroup 개체에 바인딩하는 경우 bstrItemToBeRemoved 매개 변수에도 서버리스 경로가 포함되어야 합니다. GUID 또는 SID ADsPath를 사용하여 멤버를 추가하거나 제거하는 경우는 예외입니다. 이 경우 서버리스 경로는 항상 bstrItemToBeRemoved에서 사용해야 합니다.
ADsPath의 SID를 사용하여 WinNT 공급자를 통해 그룹에서 보안 주체를 제거할 수 있습니다. 예를 들어 사용자의 SID인 "Fabrikam\jeffsmith"가 S-1-5-21-35135249072896이라고 가정합니다.
Dim group As IADsGroup
group.Remove("WinNT://S-1-5-21-35135249072896")
위의 식은 아래의 식과 동일합니다.
Dim group As IADsGroup
group.Remove("WinNT://Fabrikam/jeffsmith")
WinNT 공급자를 통해 SID를 사용하여 멤버를 제거하는 것은 Windows 2000 및 DSCLIENT 패키지의 새로운 기능입니다.
예제
다음 코드 예제에서는 그룹에서 사용자 계정을 제거합니다.
Dim grp As IADsGroup
On Error GoTo Cleanup
Set grp = GetObject("WinNT://Fabrikam/Administrators")
grp.Remove ("WinNT://Fabrikam/jeffsmith")
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set grp = Nothing
다음 코드 예제에서는 그룹에서 사용자를 제거합니다.
IADsGroup *pGroup = NULL;
HRESULT hr = S_OK;
LPWSTR usrPath = L"WinNT://Fabrikam/jeffsmith";
LPWSTR grpPath = L"WinNT://Fabrikam/Administrators";
hr = ADsGetObject(grpPath, IID_IADsGroup, (void**)&pGroup);
if(FAILED(hr)){goto Cleanup;}
hr = pGroup->Remove(CComBSTR(usrPath));
if(FAILED(hr)){goto Cleanup;}
Cleanup:
if(pGroup)
pGroup->Release();
요구 사항
지원되는 최소 클라이언트 | Windows Vista |
지원되는 최소 서버 | Windows Server 2008 |
대상 플랫폼 | Windows |
헤더 | iads.h |
DLL | Activeds.dll |