寻求适配本地AD的批量更新用户Title属性PowerShell脚本
批量更新本地AD用户Title属性的PowerShell脚本
以下是适配本地Active Directory的批量更新脚本,支持从CSV文件导入用户信息,仅更新列表内指定用户的Title属性:
# 导入Active Directory模块(未安装需先添加RSAT组件) Import-Module ActiveDirectory -ErrorAction Stop # 导入CSV文件,指定分隔符和实际文件路径 $users = Import-Csv -Delimiter ";" -Path "C:\psscripts\users.csv" -ErrorAction Stop # 循环处理每个CSV记录 foreach ($user in $users) { # 跳过SamAccountName或Title为空的无效记录 if ([string]::IsNullOrWhiteSpace($user.samaccountname) -or [string]::IsNullOrWhiteSpace($user.Title)) { Write-Warning "跳过无效记录:SamAccountName或Title字段为空" continue } # 根据SamAccountName查找本地AD用户 $adUser = Get-ADUser -Filter "SamAccountName -eq '$($user.samaccountname)'" -ErrorAction SilentlyContinue if ($adUser) { # 尝试更新用户Title属性 try { Set-ADUser -Identity $adUser -Title $user.Title -ErrorAction Stop Write-Host "✅ 成功更新用户 $($user.samaccountname) 的Title为:$($user.Title)" -ForegroundColor Green } catch { Write-Error "❌ 更新用户 $($user.samaccountname) 失败:$_" } } else { Write-Warning "⚠️ 未找到AD用户:$($user.samaccountname)" } }
CSV文件格式要求
CSV文件需包含两列,列名必须为samaccountname和Title,使用分号;作为分隔符,示例内容如下:
samaccountname;Title alice.wang;前端开发工程师 chris.li;测试经理 david.zhao;DevOps工程师
注意事项
- 运行脚本需具备本地AD用户属性修改权限,建议用域管理员或授权账号执行
- 需提前安装RSAT Active Directory PowerShell模块:Windows客户端可通过「设置-应用-可选功能」添加;服务器版默认已包含
- 务必替换脚本中的CSV路径为实际文件路径
- 首次使用建议在测试AD环境验证,避免影响生产用户数据
内容的提问来源于stack exchange,提问作者The-KinG
相关产品推荐
相关产品推荐

