마이크로소프트에 가시면 SDK를 받을수 있을겁니다.
그것을 받고 어떻게 하던데 여기가 문제...
다음에는 프로그램만...
USES절에
uses ActiveX, // COM Moniker 내용을 위한 것...
ActiveDs_TLB, // 위에서 만든 타입 라이브러리
ComObj; // OleCheck 및 기타 COM 함수들을 위한
우선 공통함수 선언을
function TForm1.GetObject(const Name: string): IDispatch;
var
Moniker: IMoniker;
Eaten: integer;
BindContext: IBindCtx;
Dispatch: IDispatch;
begin
Eaten := 1;
OleCheck(CreateBindCtx(0, BindContext));
OleCheck(MkParseDisplayName(BindContext,
PWideChar(WideString(Name)),
Eaten,
Moniker));
OleCheck(Moniker.BindToObject(BindContext, NIL, IDispatch,
Dispatch));
Result := Dispatch;
end;
계정을 추가하시려면
var
Usr: IADsUser;
Comp: IADsContainer;
Grp: IADsGroup;
begin
Result := True;
try
Comp := GetObject(vComName+',computer') as IADsContainer;
Usr := Comp.Create('user', UserName) as IADsUser;
Usr.FullName := 'John Smith';
Usr.Description := 'DSys WOSD Program Manager';
Usr.SetInfo;
Grp := GetObject(vComName+'/USERS') as IADsGroup;
Grp.Add(vComName+'/'+UserName);
Grp.SetInfo;
except
Result := False;
end;
계정이름 변경
var
Usr: IADsUser;
Comp: IADsContainer;
Grp: IADsGroup;
begin
Result := True;
try
Comp := GetObject(vComName+',computer') as IADsContainer;
Comp.MoveHere(vComName+UserName+',user',NewUserName);
Usr.SetInfo;
except
Result := False;
eND
게정제거
var
Comp: IADsContainer;
Grp: IADsGroup;
begin
Result := True;
try
Comp := GetObject(vComName+',computer') as IADsContainer;
Grp := GetObject(vComName+'/USERS') as IADsGroup;
Comp.Delete('user', UserName);
except
Result := False;
end;
암호 변경
var
Usr: IADsUser;
Grp: IADsGroup;
begin
Result := True;
try
Usr := GetObject(vComName+'/'+UserName+',user') as IADsUser;
Grp := GetObject(vComName+'/USERS') as IADsGroup;
Usr.
Usr.SetPassword(NewPwd);
Usr.SetInfo;
except
Result := False;
end;
대략 이렇습니다.
SDK를 무엇인가 인스톨 한것 같은데 거기가 기억이 나지를 않아요 죄송
연구하시면 좋은 답 나올겁니다,
마음에 뒤숭숭하게 만들었는지...
제대로 안돌아가면 어쩌지?............
단 ACTIVEDIRECTORY 계정이던가 그것은 이명령이 적용되지 않는걸고 알고 있습니다.
음..저와 같은 문제에 ...헐..기쁩당.
그나저나 정보있음..서로 좀 도와주죠 ..답변이 아니라 죄송합다