用以下命令建一个bat文件,然后程序执行这个bat文件NT命令行使用程序的使用Net Group和Net User 命令行实用程序是NT下的两个管理域用户的重要程序。它可以完成NT域用户管理器所能完成的所有功能,其区别仅在于不具备友好的界面。故可以考虑在扩展用户管理时加以调用。而Cacls命令行实用程序则用于对目录和文件实施系统安全性规则。 Net Group命令行实用程序用于在Windows NT Server 域中添加、显示或更改全局组。该命令仅在 Windows NT Server 域中可用。其基本使用格式如下: net group [groupname [/comment:"text "]] [/domain] net group groupname {/add [/comment:"text "] | /delete} [/domain] net group groupname username [ ...] {/add | /delete} [/domain] 命令相关的参数如下: groupname 要添加、扩展或删除的组。仅提供某个组名便可查看组中的用户列表。 /comment:"text " 为新建组或现有组添加注释。注释最多可以是 48 个字符。 /domain 在当前域的主域控制器中执行该操作,否则在本地计算机上执行操作。该参数仅用于作为 Windows NT Server 域成员的 Windows NT Workstation 计算机。Windows NT Server 计算机默认为在主域控制器中操作。 username[ ...] 列表显示要添加到组或从组中删除的一个或多个用户。 /add 添加组或在组中添加用户名,须用该命令为添加到组中的用户建帐号。 /delete 删除组或从组中删除用户名。 注意:键入不带参数的 net group 可以显示服务器名称及服务器的组名称。 Net User命令行实用程序用于添加或更改用户帐号或显示用户帐号信息。其基本使用格式如下: net user [username [password | *] [options]] [/domain] net user username {password | *} /add [options] [/domain] net user username [/delete] [/domain] 主要命令相关的参数如下: username 添加、删除、更改或查看用户帐号名。用户帐号名最多可以有 20 个字符。 Password 为用户帐号分配或更改密码。密码必须满足在 net accounts 命令 /minpwlen 选项中设置的最小参数。最多是 14 个字符。 * 提示输入密码。在密码提示行中键入密码时,将不显示该密码。 /add 将用户帐号添加到用户帐号数据库。 /delete 从用户帐号数据库中删除用户帐号。 /active:{no | yes} 启用或禁止用户帐号。 /expires:{date | never} 如果设置 date,将导致用户帐号过期,never 不对用户帐号设置时间限制。过期日期值可以是下列格式: mm/dd/yy、dd/mm/yy 或 mmm, dd, yy。 /fullname:"name" 指定用户全名而不是用户名。用引号将名字引住。 /homedir:path 设置用户宿主目录的路径。该路径必须存在。 /homedirreq:{yes | no} 设置是否需要宿主目录。 /profilepath:[path] 设置用户登录配置文件的路径。该路径名指向注册表配置文件。 /scriptpath:path 为用户登录脚本设置路径。 /times:{times | all} 指定允许用户使用计算机的时间。
http://dev.csdn.net/develop/article/24/24499.shtm 添加删除用户: procedure TForm1.Button2Click(Sender: TObject); var Usr: IADsUser; Comp: IADsContainer; begin try Comp := GetObject('WinNT://[computername],computer') as IADsContainer; Comp.delete('user', '[accountname]'); except on E: EOleException do begin ShowMessage(E.Message); end; end; end;
http://www.programfan.net/showarticle.asp?id=2175用DELPHI实现为NT添加用户 type USER_INFO_1=record usri1_name:pwidechar; usri1_password:pwidechar; usri1_password_age:dword; usri1_priv:dword; usri1_home_dir:pwidechar; usri1_comment:pwidechar; usri1_flags:dword; usri1_script_path:pwidechar; end; buffer=^USER_INFO_1; var Form1: TForm1; implementation {$R *.DFM} function NetUserAdd(Server:PWideChar;Level:DWORD;Buf:pointer;ParmError :dword):LongInt; stdcall; external 'netapi32.dll' procedure TForm1.Button1Click(Sender: TObject); var buf:buffer; error:pchar; begin getmem(buf,sizeof(USER_INFO_1)); with buf^ do begin usri1_name:='123e'; usri1_password:='123456789'; usri1_password_age:=0; usri1_priv:=1; usri1_home_dir:=nil; usri1_comment:=nil; usri1_flags:=1; usri1_script_path:=nil; end; netuseradd(nil,1,pointer(buf), // showmessage(inttostr(netuseradd(nil,1,pointer(buf),0))); freemem(buf); end;
Net Group命令行实用程序用于在Windows NT Server 域中添加、显示或更改全局组。该命令仅在 Windows NT Server 域中可用。其基本使用格式如下:
net group [groupname [/comment:"text "]] [/domain]
net group groupname {/add [/comment:"text "] | /delete} [/domain]
net group groupname username [ ...] {/add | /delete} [/domain]
命令相关的参数如下:
groupname 要添加、扩展或删除的组。仅提供某个组名便可查看组中的用户列表。
/comment:"text " 为新建组或现有组添加注释。注释最多可以是 48 个字符。
/domain 在当前域的主域控制器中执行该操作,否则在本地计算机上执行操作。该参数仅用于作为 Windows NT Server 域成员的 Windows NT Workstation 计算机。Windows NT Server 计算机默认为在主域控制器中操作。
username[ ...] 列表显示要添加到组或从组中删除的一个或多个用户。
/add 添加组或在组中添加用户名,须用该命令为添加到组中的用户建帐号。
/delete 删除组或从组中删除用户名。
注意:键入不带参数的 net group 可以显示服务器名称及服务器的组名称。
Net User命令行实用程序用于添加或更改用户帐号或显示用户帐号信息。其基本使用格式如下: net user [username [password | *] [options]] [/domain]
net user username {password | *} /add [options] [/domain]
net user username [/delete] [/domain]
主要命令相关的参数如下:
username 添加、删除、更改或查看用户帐号名。用户帐号名最多可以有 20 个字符。
Password 为用户帐号分配或更改密码。密码必须满足在 net accounts 命令 /minpwlen
选项中设置的最小参数。最多是 14 个字符。
* 提示输入密码。在密码提示行中键入密码时,将不显示该密码。
/add 将用户帐号添加到用户帐号数据库。
/delete 从用户帐号数据库中删除用户帐号。
/active:{no | yes} 启用或禁止用户帐号。
/expires:{date | never} 如果设置 date,将导致用户帐号过期,never 不对用户帐号设置时间限制。过期日期值可以是下列格式: mm/dd/yy、dd/mm/yy 或 mmm, dd, yy。
/fullname:"name" 指定用户全名而不是用户名。用引号将名字引住。
/homedir:path 设置用户宿主目录的路径。该路径必须存在。
/homedirreq:{yes | no} 设置是否需要宿主目录。
/profilepath:[path] 设置用户登录配置文件的路径。该路径名指向注册表配置文件。
/scriptpath:path 为用户登录脚本设置路径。
/times:{times | all} 指定允许用户使用计算机的时间。
http://dev.csdn.net/develop/article/24/24499.shtm
添加删除用户:
procedure TForm1.Button2Click(Sender: TObject);
var
Usr: IADsUser;
Comp: IADsContainer;
begin
try
Comp := GetObject('WinNT://[computername],computer') as
IADsContainer;
Comp.delete('user', '[accountname]');
except
on E: EOleException do begin
ShowMessage(E.Message);
end;
end;
end;
type USER_INFO_1=record
usri1_name:pwidechar;
usri1_password:pwidechar;
usri1_password_age:dword;
usri1_priv:dword;
usri1_home_dir:pwidechar;
usri1_comment:pwidechar;
usri1_flags:dword;
usri1_script_path:pwidechar;
end;
buffer=^USER_INFO_1;
var
Form1: TForm1; implementation {$R *.DFM}
function NetUserAdd(Server:PWideChar;Level:DWORD;Buf:pointer;ParmError
:dword):LongInt;
stdcall; external 'netapi32.dll' procedure TForm1.Button1Click(Sender: TObject);
var buf:buffer;
error:pchar;
begin
getmem(buf,sizeof(USER_INFO_1));
with buf^ do
begin
usri1_name:='123e';
usri1_password:='123456789';
usri1_password_age:=0;
usri1_priv:=1;
usri1_home_dir:=nil;
usri1_comment:=nil;
usri1_flags:=1;
usri1_script_path:=nil;
end;
netuseradd(nil,1,pointer(buf),
// showmessage(inttostr(netuseradd(nil,1,pointer(buf),0)));
freemem(buf);
end;