我如何快速创build100个用户在我的Active Directory进行testing?

我想创build100个用户只是为了testing我的Exchange Server的目的。

有没有办法使用随机名称批量做这个?

这里是我使用dsadd的一个脚本。 我有一个batch file,每年导入所有新用户:

(可能有更好的方法来显示,但我还没有喝咖啡。)

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列:姓,名,用户名,密码

  • 它为文件中的每一行创build一个用户,
  • 把他们放到所需的OU中,
  • 设置密码,
  • 将它们添加为一个组的成员,
  • 强制用户首次login时必须更改密码,
  • 将主目录设置为我们networking共享上的相应位置。

我试图得到这个自动创build电子邮件地址,但我有不一致的结果。 只需在Active Directory用户和计算机中一次select所有用户,然后从那里设置Exchange邮箱就够了。 非常简单,而且比DSADD更容易。

DSADD也有许多其他的参数。 你基本上可以设置你想要的任何用户属性。 简单,简单,快速。

一个失败:用户名冲突需要手动处理。 我们偶尔会有像詹姆斯史密斯和乔纳森史密斯这样的学生。 如果你有一套系统来提前防止碰撞,那就完美了。 如果不是,我build议将bat文件的输出redirect到一个文本文件,然后在结果中search“Fail”。

 freshmen09.bat > freshmen09_output.txt 

(有可能有更好的方法来做这个部分…)

如果您有可用的Windows Server 2008 R2域控制器,则可以运行以下PowerShell脚本来创build一些虚拟用户。 您仍然必须使用Active Directory用户和计算机来启用这些用户的邮箱,但是您可以select所有用户并批量执行此操作。

您可以更改创build的用户数量以及帐户的密码。 请注意,密码必须符合任何有效的密码要求(复杂性,长度等)。

保存为NewUsers.ps1并从Windows PowerShell的Active Directory模块运行。

 [1..100] | % { New-ADUser "User$_" -AccountPassword (ConvertTo-SecureString -AsPlainText -Force -String "P#$$w0rd") -Enabled $True } 

在命令提示符处,查看“dsadd”:

http://technet.microsoft.com/en-us/library/cc731279(v=WS.10).aspx

或“净用户”:

http://support.microsoft.com/kb/251394

您可以使用excel或记事本等准备一个命令列表粘贴到命令提示符,或制作一个batch file。

查看脚本: http : //blogs.technet.com/b/keithcombs/archive/2008/11/26/filling-up-active-directory-with-some-test-data.aspx

确保你的内部域是CONTOSO.COM,否则改变脚本。 之后您将不得不为所有用户创build邮箱,但是这非常容易。

或者我们可以使用这个命令, dsadd用户在这里是一篇文章,是在讨论谁来创build用户和文件夹。

 set FirstName=Graice set LastName=tsai set LogonName=graice set pass=welcome dsadd user ”CN=%LogonName%, ou=FTPUsers, dc=yourDCname,dc=com” -pwd %pass% -pwdneverexpires yes -samid %LogonName% -upn %LogonName% -ln %LastName% -fn %FirstName% dsmod user ”CN=%LogonName%, ou=FTPUsers, dc=yourDCname,dc=com” -disabled no dsmod group ”CN=FTP Users, ou=FTPUsers, dc=yourDCname,dc=com” -addmbr ”cn=%LogonName%, ou=FTPUsers, DC=yourDCname, DC=com” 

一位同事和我自己想出了一个有用的脚本,它产生了5000个用户来testing我们的java客户端的ldap用户限制。 它使用pipe理员帐户在Windows Server 2008服务器上运行。

只需将以下内容保存到run.cmd文件中,调整域名和OU,然后使用命令提示符运行它:

 @echo off set FirstName=test set LastName=user set LogonName=testuser_new set pass=Welcome_1234 setlocal enableextensions enabledelayedexpansion FOR /L %%A IN (1,1,5000) DO ( echo %LogonName%_%%A dsadd user "CN=%LogonName%_%%A, CN=Users, dc=fist,dc=com" -pwd %pass% -pwdneverexpires yes -samid %LogonName%_%%A -upn %LogonName%_%%A -ln %LastName% -fn %FirstName% dsmod user "CN=%LogonName%_%%A, CN=Users, dc=fist,dc=com" -disabled no ) endlocal 

您可以通过调整FOR循环中的限制来创build更多的用户。

这可以帮助您以一种简单的方式: http : //testools.blogspot.com/2013/01/how-to-create-several-users-in-active.html

如果你想为每个用户指定不同的名字,比user1,user2等更好。