PowerShell AD域用户批量管理
PowerShell编写的AD域用户管理脚本,支持从CSV批量创建用户、禁用超过指定天数未登录的账户、导出用户信息CSV、重置密码、添加到组,是企业域环境运维的必备工具。
详细内容
Import-Module ActiveDirectory
# 从CSV批量创建用户
$users = Import-Csv 'users.csv'
foreach($u in $users) {
$securePass = ConvertTo-SecureString $u.Password -AsPlainText -Force
New-ADUser -Name $u.Name -UserPrincipalName $u.UPN `
-AccountPassword $securePass -Enabled $true `
-Path "OU=Users,DC=domain,DC=com" -ChangePasswordAtLogon $true
Write-Host "创建用户: $($u.Name)"
}
# 禁用90天未登录用户
$cutoff = (Get-Date).AddDays(-90)
Get-ADUser -Filter {LastLogonDate -lt $cutoff} -Properties LastLogonDate |
Where-Object {$_.Enabled} | Disable-ADAccount
Write-Host '不活跃用户已禁用'
适配环境
依赖环境:Windows Server,ActiveDirectory模块,域管理员权限
使用说明
1.在域控制器或安装RSAT的机器上运行
2.保存为ad_user.ps1
3.以域管理员身份运行PowerShell
4.Import-Module ActiveDirectory
5.运行脚本
需要安装ActiveDirectory模块(RSAT)
批量创建前先测试单个用户
建议先导出当前用户列表备份
禁用用户前确认是否真的不活跃
可以配合定时任务定期清理
2.保存为ad_user.ps1
3.以域管理员身份运行PowerShell
4.Import-Module ActiveDirectory
5.运行脚本
需要安装ActiveDirectory模块(RSAT)
批量创建前先测试单个用户
建议先导出当前用户列表备份
禁用用户前确认是否真的不活跃
可以配合定时任务定期清理
常见问题
问:需要在域控上运行吗?
答:不一定,安装了RSAT工具的域成员机器也可以
问:会误删用户吗?
答:脚本默认只禁用不删除,安全可控