从今天早上开始我一直尝试向 Server 2008 上的新 AD 中添加 100 个用户。
我在 Excel 文件中拥有的字段有:
姓氏、名字、用户名、密码、组(新用户、高级用户、超级用户)、电子邮件地址(不交换用户详细信息中的信息)。
以下是我根据某人的建议从网站上复制的脚本:
脚本代码:
---[AddUser.cmd]----
@echo off
setlocal
:: *** csv-File with the name, first name, and user name:
set UserFile=C:\Users\Administrator\Desktop\scriptusers\users1.csv
:: *** Distinguished Name of the container to add the new user to:
set UsersDN=OU=newcompany,DC=domain,DC=com
for /f "tokens=1-4 delims=," %%a in ('type "%UserFile%"') do (
set LastName=%%a
set FirstName=%%b
set NewUser=%%c
set Password=%%d
call :process
)
goto :leave
:process
set UPN=%NewUser%@%UserDNSDomain%
set DisplayName=%LastName%, %FirstName%
set NewUserDN=CN=%NewUser%,%UsersDN%
set Password=password
echo You are about to create a new user with the following properties:
echo.
echo Username: %NewUser%
echo Display name: %DisplayName%
echo UPN: %UPN%
echo OU: %UsersDN%
echo.
echo Hit ^<ctrl-c^> to stop, any other key to create the user.
pause >NUL
echo.
:: *** Test mode: Remove the "ECHO" in front of the following line to run the script for real:
dsadd user "%NewUserDN%" -samid %NewUser% -upn %UPN% -fn "%FirstName%" -ln "%LastName%" -display "%DisplayName%" -pwd "%Password%" -desc "%DisplayName%" -mustchpwd yes -disabled no
:leave
现在,我将 excel 文件导出到 csv,根据自己的喜好编辑了脚本,但当我运行它时,它只会添加一个用户(csv 上的第一个用户),否则会出现密码复杂性错误。我将脚本中的密码更改为足够复杂,但没有成功。
如果有人能告诉我如何一步一步地做到这一点,我将不胜感激;我是脚本编写和理解脚本的新手。
感谢并问候 AerAps
答案1
您可以使用 PowerShell。它使这个过程变得不那么麻烦,脚本也更直接。我不记得它是否默认包含在 Server 2008 中。如果没有,您可以使用服务器管理器安装它。
它会自动为您导入 csv。您需要做的就是确保 CSV 具有列标题。请参阅下面的代码以获取快速示例。您可以扩展下面的 dsadd 命令以满足您的需要。
$inputFile = Import-CSV <insert filepath here>
foreach($line in $inputFile)
{
dsadd user -samid $line.Username -pwd $line.Password
}
答案2
尝试使用 csvde,很好的资源这里,它可能是这项工作的最佳工具。
答案3
您可能考虑的另一种选择: