一、环境
公司DC服务器和Exchange 2016,服务器都是Windows Server 2016
二、需求
在AD域下,为某个OU批量新增账户并强制用户首次登录必须重置密码
三、操作步骤
1、通过用户发的Excel文件,编辑username、displayName、OU字段 ,另存为CSV UTF-8类型并保存为aduserinfo.csv (名称根据自己爱好写),比如下图所示
2、把远程进入DC或者Exchange服务器,在哪台服务器操作就把aduserinfo.csv 文件拷贝到哪台服务器桌面,以管理员方式运行 Windows PowerShell 程序
3、首先执行 Import-Module ActiveDirectory 进入到AD域模块下,如下图
4、再执行此脚本
function BatchCreateUser($csvFile, $newPassword) {
$users = Import-Csv -Path $csvFile
foreach ($user in $users) {
$username = $user.Username
$displayName = $user.DisplayName
$ou = $user.OU
$name = $user.username
# 创建新用户
New-ADUser -SamAccountName $username -name $username -UserPrincipalName "$username@thtf.com.cn" -DisplayName $displayName -Enabled $true -ChangePasswordAtLogon $true -AccountPassword (ConvertTo-SecureString -String $newPassword -AsPlainText -Force) -PassThru | Move-ADObject -TargetPath $ou
Set-ADUser -Identity $username -ChangePasswordAtLogon $true
}
}
5、运行此脚本为 设置默认密码为
$newPassword = "tF20230908@"
6、调用函数批量创建用户,等待执行完成即可
BatchCreateUser -csvFile "C:\Users\admin\Desktop\aduserinfo.csv" -newPassword $newPassword
7、创建完成后批量修改用户的extensionAttribute1 和 extensionAttribute2属性(前提修改好aduserinfo.csv文件)
Import-Csv -Path C:\Users\admin\Desktop\aduserinfo.csv | foreach {Set-ADUser -Identity $_.username -Replace @{extensionAttribute1 =$_.extensionAttribute1;extensionAttribute2 =$_.extensionAttribute2 } }