针对我上一篇提到的问题,我简单做了一个脚本用来自动更改2003系统下的域帐户相关属性。当然代码中有不完善的地方,恳请朋友们提出意见,以便我更好的研究与完善,谢谢大家!代码如下:
On Error Resume Next
Dim userName
Dim userChineseName
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
If Wscript.arguments.count < 1 then
userName=InputBox("Powered By adlinktech.com "&vbCr&vbCr&" 本程序将自动创建用户名 "&vbCr&vbCr&"请(按照邮箱用户名)输入用户名:","Windows server2003帐户自动创建器","adlinkUser")
If userName = "" Then
Wscript.quit
End If
Else
userName = Wscript.arguments.Item(0)
End If
set objDomain = GetObject("LDAP://dc=adlinktech,dc=com")
Set objContainer = GetObject("LDAP://ou=SH,ou=CN,dc=adlinktech,dc=com")
Set objUser = objContainer.Create("User", "cn="&userName)
intUAC = objUser.Get("userAccountControl")
objUser.Put "displayName", "" &userName '显示名
objUser.Put "sAMAccountName", "" &userName '帐户名
objUser.Put "userPrincipalName", userName &"@adlinktech.com" '注册帐户
objUser.Put "mail", userName &"@adlinktech.com" '注册邮箱
objUser.Put "description", "" &userName '描述
objUser.SetPassword "" &username '设置密码
If ADS_UF_DONT_EXPIRE_PASSWD AND intUAC Then '设置密码永不过期
Wscript.echo "Already enabled"
Else
objUser.Put "userAccountControl", intUAC XOR _
ADS_UF_DONT_EXPIRE_PASSWD
objUser.SetInfo
End If
objUser.SetInfo
if err = 0 then
Wscript.echo "OK!请注册用户吧!"
end if
if err <> 0 then
Wscript.echo "error!输入的用户名已经存在。"
Err.Clear
end if
Wscript.echo "OK!一个用户已经创建!"
以上代码我已经在服务器上试过了,可以顺利完成!现在有个问题,“描述”想写上中文,能不能通过inputbox单击确定按钮后,在弹出一个对话框输入相应的描述信息,但是我想了几个办法都不行,希望大家能帮助我想想。