快速添加 200 个 AD 帐户和 Exchange 邮箱的方法?

快速添加 200 个 AD 帐户和 Exchange 邮箱的方法?

因此,如果某人有 200 个名字的列表,并且他们想要快速为每个名字添加 ActiveDirectory 用户和 Exchange 邮箱,是否有任何工具/技术可以帮助实现这一点?

细节:

  • Exchange 2003
  • Excel/CSV 文件中的 200 个姓名列表
  • 添加 AD 用户
  • 然后添加 Exchange 邮箱
  • 每个用户都需要外部联系人,包括电子邮件地址
  • 为每个邮箱启用双重递送

答案1

用于创建用户帐户的 VBScript 和 ADSI。使用类似下面的命令开始:

Set objRootDSE = GetObject("LDAP://rootDSE")
Set objContainer = GetObject("LDAP://cn=Users," & objRootDSE.Get("defaultNamingContext"))

For i = 1 To 1000
    Set objLeaf = objContainer.Create("User", "cn=UserNo" & i)
    objLeaf.Put "sAMAccountName", "UserNo" & i
    objLeaf.SetInfo
Next

WScript.Echo "1000 Users created."

从这里

Microsoft Technet 脚本中心还有很多示例脚本,几乎涵盖了你想做的任何事情,是一个很好的资源。

对于邮箱,我不会费心编写脚本;只需在同一个 OU 中创建所有用户,然后块选择它们(在 ADU&C 中),右键单击,然后执行“Exchange 任务”操作 - 更快且更不容易出错。

答案2

如果您不想使用 VBScript,也可以使用 dsadd。我有一个一行批处理文件,用于每年导入我的所有新用户:

(可能有更好的方式来展示这一点,但我还没有喝咖啡。)

for /F "tokens=1,2,3,4 delims=," %%i in (freshmen09.csv) do dsadd user "cn=%%j %%i,ou=2013,ou=students,dc=[domain],dc=org" -samid %%k -pwd "%%l" -upn %%k@[domain].org -fn "%%j" -ln "%%i" -display "%%j %%i" -memberof "cn=GL 2013,ou=2013,ou=students,dc=[domain],dc=org" -disabled no -mustchpwd yes -hmdrv U: -hmdir "\\[network home directory]\2013\%%k"

这从 CSV 文件中取出 4 列:姓氏、名字、用户名、密码

  • 它为文件中的每一行创建一个用户,
  • 将它们放入所需的 OU,
  • 设置密码,
  • 将他们添加为群组成员,
  • 强制用户首次登录时必须更改密码,
  • 将主目录设置为网络共享上的适当位置。

我曾尝试让它自动创建电子邮件地址,但结果并不一致。通常我必须按照 mh 的建议操作,只需在 ADU&C 中选择全部,然后从那里设置 Exchange 邮箱。非常简单,比使用 DSADD 找出那部分要容易得多。

DSADD 还有许多其他参数。基本上,您可以让它设置您想要的任何用户属性。简单、轻松、快速。

一个失败:用户名冲突需要手动处理。我们偶尔会遇到像 James Smith 和 Jonathon Smith 这样的名字的学生。如果您有一个可以提前防止冲突的系统,那就太好了。如果没有,我建议将 bat 文件的输出重定向到文本文件,然后在结果中搜索“失败”。

freshmen09.bat > freshmen09_output.txt

(可能有更好的方法来完成这部分......)

答案3

VBScript 就是方法。

使用 VBScript 和 ADSI 您可以自动完成大部分这些任务。

以下几个链接可帮助您入门:

在 AD 中创建用户以及更多

脚本交换

玩得开心!

相关内容