我想创建 100 个用户,只是为了测试我的 Exchange Server。
有没有办法使用随机名称等批量执行此操作?
如果您有可用的 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 }
Run Code Online (Sandbox Code Playgroud)
这是我为使用 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"
Run Code Online (Sandbox Code Playgroud)
这需要 CSV 文件中的 4 列:姓氏、名字、用户名、密码
我试图让它自动创建电子邮件地址,但结果不一致。只需在 Active Directory 用户和计算机中一次选择所有用户并从那里设置 Exchange 邮箱就足够简单了。非常简单,比使用 DSADD 计算该部分要容易得多。
DSADD 还有许多其他参数。您基本上可以让它设置您想要的任何用户属性。简单、容易、快速。
失败之一:用户名冲突需要手动处理。我们偶尔会有像詹姆斯·史密斯和乔纳森·史密斯这样的学生。如果你有一个提前防止碰撞的系统,那就完美了。如果没有,我建议将 bat 文件的输出重定向到文本文件,然后在结果中搜索“失败”。
freshmen09.bat > freshmen09_output.txt
Run Code Online (Sandbox Code Playgroud)
(可能有更好的方法来完成这部分......)