Windows提供了WNetAddConnection()函数来建立网络映射,NetUserAdd()函数来添加用户。这两个函数和在一起可以实现为远程主机添加用户的功能。但是,要真正实现远程添加用户的功能,需要在远程主机上做正确的配置。如果远程主机是Windows XP Pro,需要做如下配置:
1. 开启远程连接
我的电脑——>右键——>属性——>远程——>勾选“允许用户连接到此计算机”
2. 开启网络共享功能。
新建一个文件夹,右键——>共享——>创建共享。
3. 更改远程用户安全策略
管理工具——>本地安全策略——>安全选项——>网络访问:本地账户的共享和安全模式,双击,改为“经典——本地用户以自己的身份验证”
4.开启Telnet (不确定是否必要)
如果不做配置3,执行NetUserAdd()函数时,会报出访问权限不够的问题。因为默认的安全策略“仅来宾”是指不管网络登录的用户/密码参数拥有什么样的系统权限,登陆后一律赋予Guest用户的权限,以Guest账户添加一个Administrators组的账户时自然会出现权限不足的问题。而“经典”模式是指网络登录后的账户与输入的用户/密码参数的账户保持一致的权限,即如果输入管理员账号,登录后就拥有管理员组的权限;如果以Guest用户登录,登录后就拥有Guest账户的权限。
PS: Windows 2000的内置设置就是“经典”模式,所以不会出现上述问题。
参考资料:
http://hi.baidu.com/mofangzhe/blog/item/e5c05fedf39d62d1b21cb10d.html
http://www.sq01.cn/viewthread.php?tid=161