![如何在我的 Active Directory 上快速创建 100 个用户以用于测试目的?](https://linux22.com/image/532265/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%88%91%E7%9A%84%20Active%20Directory%20%E4%B8%8A%E5%BF%AB%E9%80%9F%E5%88%9B%E5%BB%BA%20100%20%E4%B8%AA%E7%94%A8%E6%88%B7%E4%BB%A5%E7%94%A8%E4%BA%8E%E6%B5%8B%E8%AF%95%E7%9B%AE%E7%9A%84%EF%BC%9F.png)
我想创建 100 个用户仅用于测试我的 Exchange Server。
有没有办法使用随机名称等批量执行此操作?
答案1
这是我为使用 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,
- 设置密码,
- 将他们添加为群组成员,
- 强制用户首次登录时必须更改密码,
- 将主目录设置为网络共享上的适当位置。
我曾尝试让它自动创建电子邮件地址,但结果并不一致。只需在 Active Directory 用户和计算机中一次选择所有用户并从那里设置 Exchange 邮箱即可。非常简单,比使用 DSADD 解决该部分要容易得多。
DSADD 还有许多其他参数。基本上,您可以让它设置您想要的任何用户属性。简单、轻松、快速。
一个失败:用户名冲突需要手动处理。我们偶尔会遇到像 James Smith 和 Jonathon Smith 这样的名字的学生。如果您有一个可以提前防止冲突的系统,那就太好了。如果没有,我建议将 bat 文件的输出重定向到文本文件,然后在结果中搜索“失败”。
freshmen09.bat > freshmen09_output.txt
(可能有更好的方法来完成这部分......)
答案2
如果您有可用的 Windows Server 2008 R2 域控制器,则可以运行以下 PowerShell 脚本来创建一些虚拟用户。您仍然必须使用 Active Directory 用户和计算机来启用这些用户的邮箱,但您可以选择所有用户并批量执行此操作。
您可以更改创建的用户数量以及帐户的密码。请注意,密码必须符合有效的密码要求(复杂性、长度等)。
另存为NewUsers.ps1
并从 Windows PowerShell 的 Active Directory 模块运行。
[1..100] | % { New-ADUser "User$_" -AccountPassword (ConvertTo-SecureString -AsPlainText -Force -String "P#$$w0rd") -Enabled $True }
答案3
在命令提示符下,查看“dsadd”:
http://technet.microsoft.com/en-us/library/cc731279(v=WS.10).aspx
或“网络用户”:
http://support.microsoft.com/kb/251394
您可以使用 Excel 或记事本等准备命令列表粘贴到命令提示符中,或者创建批处理文件。
答案4
或者我们可以使用此命令dsadd
用户
这里是一篇讨论谁创建用户和文件夹的文章。
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”