如果用DELPHI添加域用户 请问如果用DELPHI,添加WINDOWS的域用户啊。或者是WINDOWS添加域用户的时候,我这边动态的获得此域用户信息 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用ADSI,微软的活动目录接口我有一个小例子,你看看http://download.csdn.net/source/1462183 是WINDOWS域 用户的添加哦。不是WINDOWS用户 一样,去研究ADSI吧,或者研究注册表,我想这些东西都和注册表有关 用dsadd user命令我曾写的。不过没有测试。附代码unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons,inifiles,IdStrings,shellapi;type TForm1 = class(TForm) GroupBox1: TGroupBox; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; GroupBox2: TGroupBox; SpeedButton1: TSpeedButton; ComboBox1: TComboBox; GroupBox3: TGroupBox; GroupBox4: TGroupBox; CheckBox1: TCheckBox; CheckBox3: TCheckBox; CheckBox4: TCheckBox; Edit3: TEdit; Label8: TLabel; Edit4: TEdit; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; Edit5: TEdit; SpeedButton5: TSpeedButton; Label9: TLabel; Edit6: TEdit; procedure FormCreate(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton5Click(Sender: TObject); procedure Edit1Change(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure SpeedButton4Click(Sender: TObject); private { Private declarations } public { Public declarations } procedure cxini; procedure creini; end;var Form1: TForm1; path:string;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);{var cini:tinifile; cst:tstrings; }beginpath:=extractfilepath(paramstr(0))+'config.ini';creini;cxini;{cst:=tstringlist.Create;cini:=tinifile.Create(path); try cini.ReadSection('域名',cst); combobox1.Items:=cst; if combobox1.Items.Count>0 then begin combobox1.ItemIndex:=0; edit5.Text:=cini.ReadString('域名',combobox1.Text,'没有域名,请先添加'); end else begin end; finally cini.Free; cst.Free; end;} edit4.Text:='@'+edit5.Text;end;procedure TForm1.SpeedButton1Click(Sender: TObject);varini:tinifile;beginini:=tinifile.Create(path); try ini.WriteString('域名',combobox1.Text,edit5.Text); cxini; finally ini.Free; end;end;procedure TForm1.ComboBox1Change(Sender: TObject);varchini:tinifile;beginchini:=tinifile.Create(path);try if combobox1.Text<>'' then begin edit5.Text:=chini.ReadString('域名',combobox1.Text,'没有域名,请添加') end; finally chini.Free; end;edit4.Text:=edit1.Text+'@'+edit5.Text;end;procedure TForm1.SpeedButton2Click(Sender: TObject);var//fi:integer;fst:tstrings;cmds,oucmd:string;beginif (edit1.Text='') or (edit3.Text='') or (edit2.Text='') or (edit6.Text='') or (edit5.Text='') then begin application.MessageBox('不能为空','520os',mb_ok); exit; end;cmds:='';oucmd:='dsadd user ';if checkbox1.Checked then cmds:='-pwdneverexpires yes ' else cmds:='-pwdneverexpires no ';if checkbox3.Checked then cmds:=cmds+'-disabled yes ' else cmds:=cmds+'-disabled no ';if checkbox4.Checked then cmds:=cmds+'-mustchpwd yes ' else cmds:=cmds+'mustchpwd no ';//showmessage(cmds);fst:=tstringlist.Create;splitcolumns(edit5.Text,fst,'.');//showmessage(inttostr(fst.Count)); case fst.Count of 2:begin oucmd:=oucmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds; end; 3:begin oucmd:=oucmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+',DC='+fst[2]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+'.'+fst[2]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds; end; 4:begin oucmd:=oucmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+',DC='+fst[2]+',DC='+fst[3]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+'.'+fst[2]+'.'+fst[3]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds; end; end;//showmessage(oucmd);winexec(pchar(oucmd),0);end;procedure TForm1.SpeedButton5Click(Sender: TObject);vardini:tinifile;dsts:tstrings;i:integer;begindini:=tinifile.Create(path);dsts:=tstringlist.Create; try dini.ReadSection('域名',dsts); for i:=0 to dsts.Count-1 do begin if combobox1.Text=dsts[i] then begin dini.DeleteKey('域名',dsts[i]); cxini; end; end; finally end;end;procedure TForm1.cxini;var cini:tinifile; cst:tstrings;begincst:=tstringlist.Create;cini:=tinifile.Create(path); try cini.ReadSection('域名',cst); combobox1.Items:=cst; if combobox1.Items.Count>0 then begin combobox1.ItemIndex:=0; edit5.Text:=cini.ReadString('域名',combobox1.Text,'没有域名,请先添加'); end else begin end; finally cini.Free; cst.Free; end;end;procedure TForm1.Edit1Change(Sender: TObject);beginedit4.Text:=edit1.Text+'@'+edit5.Text;end;procedure TForm1.SpeedButton3Click(Sender: TObject);beginShellExecute(Handle,'open','explorer.exe',pchar(path),nil,1);end;procedure TForm1.creini;var ccini:tinifile;beginif not FileExists(path) then begin ccini:=tinifile.Create(path); try ccini.WriteString('域名','1','520os.com'); ccini.WriteString('批量添加','域名','520os.com'); ccini.WriteString('批量添加','组织单位','520test'); ccini.WriteString('帐户','QQ号码','QQ153785587'); finally ccini.Free; end; end;end;procedure TForm1.SpeedButton4Click(Sender: TObject);vartini:tinifile;tstr,tzf:tstrings;ocmd,ou,ym,mm:string;ti:integer;begin tini:=tinifile.Create(path); tstr:=tstringlist.Create; tzf:=tstringlist.Create; ou:=tini.ReadString('批量添加','组织单位','520os'); ym:= tini.ReadString('批量添加','域名','520.com'); mm:=tini.ReadString('批量添加','密码','abcdefg'); try splitcolumns(ym,tstr,'.'); tini.ReadSection('帐户',tzf); case tstr.Count of 2:begin //ocmd:=ocmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds; for ti:=0 to tzf.Count-1 do begin ocmd:='dsadd user CN='+tzf[ti]+',OU='+ou+',DC='+tstr[0]+',DC='+tstr[1]+' '+'-UPN '+tzf[ti]+'@'+tstr[0]+'.'+tstr[1]+' '+'-display'+' '+tini.ReadString('帐户',tzf[ti],'')+' '+'-pwd '+mm+' '+'-pwdneverexpires yes'; // showmessage(ocmd); // ocmd:=''; winexec(pchar(ocmd),0) ; end; end; 3:begin //ocmd:=ocmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+',DC='+fst[2]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+'.'+fst[2]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds; for ti:=0 to tzf.Count-1 do begin ocmd:='dsadd user CN='+tzf[ti]+',OU='+ou+',DC='+tstr[0]+',DC='+tstr[1]+',DC='+tstr[2]+' '+'-UPN '+tzf[ti]+'@'+tstr[0]+'.'+tstr[1]+'.'+tstr[2]+' '+'-display'+' '+tini.ReadString('帐户',tzf[ti],'')+' '+'-pwd '+mm+' '+'-pwdneverexpires yes'; // showmessage(ocmd); // ocmd:=''; winexec(pchar(ocmd),0) ; end; end; 4:begin // ocmd:=ocmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+',DC='+fst[2]+',DC='+fst[3]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+'.'+fst[2]+'.'+fst[3]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds; for ti:=0 to tzf.Count-1 do begin ocmd:='dsadd user CN='+tzf[ti]+',OU='+ou+',DC='+tstr[0]+',DC='+tstr[1]+',DC='+tstr[2]+',DC='+tstr[3]+' '+'-UPN '+tzf[ti]+'@'+tstr[0]+'.'+tstr[1]+'.'+tstr[2]+'.'+tstr[3]+' '+'-display'+' '+tini.ReadString('帐户',tzf[ti],'')+' '+'-pwd '+mm+' '+'-pwdneverexpires yes'; //showmessage(ocmd); // ocmd:=''; winexec(pchar(ocmd),0) ; end; end; end; finally tstr.Free; tini.Free; tzf.Free; end;end;end. 支持aa.bb aa.bb.cc aa.bb.cc.dd 支持这样的域名方式 关于sendarp函数问题 请问哪里有数据结构的视频下载??? 请教Delphi7连接access的问题 如何监控DOS窗口执行完毕? 谁能帮我这穷小子,感激不尽(求一本书) dbgrid 的排序问题 ■■■如何查看dll文件中的函数的参数■■■ 急需TIF解决方案(解决一定给高分) 一个比较愚蠢的问题(简直是送分) 关于大型数据库,数据量达到3万条记录时,就会出错?具体情况入内...... 有北京的男程序员吗? 怎么得到Excel表格中每个Sheet的有效行、列
我有一个小例子,你看看
http://download.csdn.net/source/1462183
我曾写的。不过没有测试。附代码
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,inifiles,IdStrings,shellapi;type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
GroupBox2: TGroupBox;
SpeedButton1: TSpeedButton;
ComboBox1: TComboBox;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
CheckBox1: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
Edit3: TEdit;
Label8: TLabel;
Edit4: TEdit;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Edit5: TEdit;
SpeedButton5: TSpeedButton;
Label9: TLabel;
Edit6: TEdit;
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure cxini;
procedure creini;
end;var
Form1: TForm1;
path:string;
implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
{var
cini:tinifile;
cst:tstrings; }
begin
path:=extractfilepath(paramstr(0))+'config.ini';
creini;
cxini;
{cst:=tstringlist.Create;
cini:=tinifile.Create(path);
try
cini.ReadSection('域名',cst);
combobox1.Items:=cst;
if combobox1.Items.Count>0 then
begin
combobox1.ItemIndex:=0;
edit5.Text:=cini.ReadString('域名',combobox1.Text,'没有域名,请先添加');
end else begin end;
finally
cini.Free;
cst.Free;
end;}
edit4.Text:='@'+edit5.Text;end;procedure TForm1.SpeedButton1Click(Sender: TObject);
var
ini:tinifile;
begin
ini:=tinifile.Create(path);
try
ini.WriteString('域名',combobox1.Text,edit5.Text);
cxini;
finally
ini.Free;
end;
end;procedure TForm1.ComboBox1Change(Sender: TObject);
var
chini:tinifile;
begin
chini:=tinifile.Create(path);
try
if combobox1.Text<>'' then
begin
edit5.Text:=chini.ReadString('域名',combobox1.Text,'没有域名,请添加')
end;
finally
chini.Free;
end;
edit4.Text:=edit1.Text+'@'+edit5.Text;end;procedure TForm1.SpeedButton2Click(Sender: TObject);
var
//fi:integer;
fst:tstrings;
cmds,oucmd:string;
begin
if (edit1.Text='') or (edit3.Text='') or (edit2.Text='') or (edit6.Text='') or (edit5.Text='') then
begin
application.MessageBox('不能为空','520os',mb_ok);
exit;
end;cmds:='';
oucmd:='dsadd user ';
if checkbox1.Checked then cmds:='-pwdneverexpires yes ' else cmds:='-pwdneverexpires no ';
if checkbox3.Checked then cmds:=cmds+'-disabled yes ' else cmds:=cmds+'-disabled no ';
if checkbox4.Checked then cmds:=cmds+'-mustchpwd yes ' else cmds:=cmds+'mustchpwd no ';//showmessage(cmds);
fst:=tstringlist.Create;
splitcolumns(edit5.Text,fst,'.');
//showmessage(inttostr(fst.Count));
case fst.Count of
2:begin
oucmd:=oucmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds;
end;
3:begin
oucmd:=oucmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+',DC='+fst[2]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+'.'+fst[2]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds;
end;
4:begin
oucmd:=oucmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+',DC='+fst[2]+',DC='+fst[3]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+'.'+fst[2]+'.'+fst[3]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds;
end;
end;
//showmessage(oucmd);
winexec(pchar(oucmd),0);
end;procedure TForm1.SpeedButton5Click(Sender: TObject);
var
dini:tinifile;
dsts:tstrings;
i:integer;
begin
dini:=tinifile.Create(path);
dsts:=tstringlist.Create;
try
dini.ReadSection('域名',dsts);
for i:=0 to dsts.Count-1 do
begin
if combobox1.Text=dsts[i] then
begin
dini.DeleteKey('域名',dsts[i]);
cxini;
end; end; finally
end;
end;procedure TForm1.cxini;
var
cini:tinifile;
cst:tstrings;
begincst:=tstringlist.Create;
cini:=tinifile.Create(path);
try
cini.ReadSection('域名',cst);
combobox1.Items:=cst;
if combobox1.Items.Count>0 then
begin
combobox1.ItemIndex:=0;
edit5.Text:=cini.ReadString('域名',combobox1.Text,'没有域名,请先添加');
end else begin end;
finally
cini.Free;
cst.Free;
end;
end;procedure TForm1.Edit1Change(Sender: TObject);
begin
edit4.Text:=edit1.Text+'@'+edit5.Text;
end;procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
ShellExecute(Handle,'open','explorer.exe',pchar(path),nil,1);
end;procedure TForm1.creini;
var
ccini:tinifile;
begin
if not FileExists(path) then
begin
ccini:=tinifile.Create(path);
try
ccini.WriteString('域名','1','520os.com');
ccini.WriteString('批量添加','域名','520os.com');
ccini.WriteString('批量添加','组织单位','520test');
ccini.WriteString('帐户','QQ号码','QQ153785587');
finally
ccini.Free;
end; end;
end;procedure TForm1.SpeedButton4Click(Sender: TObject);
var
tini:tinifile;
tstr,tzf:tstrings;
ocmd,ou,ym,mm:string;
ti:integer;
begin
tini:=tinifile.Create(path);
tstr:=tstringlist.Create;
tzf:=tstringlist.Create; ou:=tini.ReadString('批量添加','组织单位','520os');
ym:= tini.ReadString('批量添加','域名','520.com');
mm:=tini.ReadString('批量添加','密码','abcdefg');
try splitcolumns(ym,tstr,'.');
tini.ReadSection('帐户',tzf);
case tstr.Count of
2:begin
//ocmd:=ocmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds; for ti:=0 to tzf.Count-1 do
begin
ocmd:='dsadd user CN='+tzf[ti]+',OU='+ou+',DC='+tstr[0]+',DC='+tstr[1]+' '+'-UPN '+tzf[ti]+'@'+tstr[0]+'.'+tstr[1]+' '+'-display'+' '+tini.ReadString('帐户',tzf[ti],'')+' '+'-pwd '+mm+' '+'-pwdneverexpires yes';
// showmessage(ocmd);
// ocmd:='';
winexec(pchar(ocmd),0) ;
end;
end;
3:begin
//ocmd:=ocmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+',DC='+fst[2]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+'.'+fst[2]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds;
for ti:=0 to tzf.Count-1 do
begin
ocmd:='dsadd user CN='+tzf[ti]+',OU='+ou+',DC='+tstr[0]+',DC='+tstr[1]+',DC='+tstr[2]+' '+'-UPN '+tzf[ti]+'@'+tstr[0]+'.'+tstr[1]+'.'+tstr[2]+' '+'-display'+' '+tini.ReadString('帐户',tzf[ti],'')+' '+'-pwd '+mm+' '+'-pwdneverexpires yes';
// showmessage(ocmd);
// ocmd:='';
winexec(pchar(ocmd),0) ;
end; end;
4:begin
// ocmd:=ocmd+'CN='+edit1.text+',OU='+edit6.Text+',DC='+fst[0]+',DC='+fst[1]+',DC='+fst[2]+',DC='+fst[3]+' '+'-UPN '+edit1.Text+'@'+fst[0]+'.'+fst[1]+'.'+fst[2]+'.'+fst[3]+' '+'-display '+edit3.Text+' -pwd '+edit2.Text+' '+cmds;
for ti:=0 to tzf.Count-1 do
begin
ocmd:='dsadd user CN='+tzf[ti]+',OU='+ou+',DC='+tstr[0]+',DC='+tstr[1]+',DC='+tstr[2]+',DC='+tstr[3]+' '+'-UPN '+tzf[ti]+'@'+tstr[0]+'.'+tstr[1]+'.'+tstr[2]+'.'+tstr[3]+' '+'-display'+' '+tini.ReadString('帐户',tzf[ti],'')+' '+'-pwd '+mm+' '+'-pwdneverexpires yes';
//showmessage(ocmd);
// ocmd:='';
winexec(pchar(ocmd),0) ;
end; end;
end;
finally
tstr.Free;
tini.Free;
tzf.Free;
end;end;end.