如何使用PowerShell的Set-ADUser通过邮箱更新AD用户职位?
解决方法:通过邮箱定位AD用户并更新职位
当然可以仅用邮箱地址作为唯一标识完成更新操作。核心思路是先通过邮箱地址查询对应的AD用户对象,再用该对象作为Set-ADUser的标识参数进行更新。
修正后的代码
$csv = Import-Csv -Path "C:\Folder\JobTitles.csv" ForEach ($item In $csv) { # 通过邮箱地址查询AD用户 $adUser = Get-ADUser -Filter {EmailAddress -eq $item.Email} -Properties EmailAddress if ($adUser) { # 找到用户后更新职位 Set-ADUser -Identity $adUser -Title $item.Title Write-Host "已更新用户 $($adUser.Name) 的职位为 $($item.Title)" } else { Write-Warning "未找到邮箱为 $($item.Email) 的AD用户" } }
关键说明
Get-ADUser -Filter {EmailAddress -eq $item.Email}:以邮箱地址为筛选条件定位AD用户,只要你的AD环境中邮箱地址是唯一的,就能精准匹配目标用户。- 加入
if ($adUser)判断:避免CSV中存在无效邮箱时触发报错,同时输出操作日志,方便后续排查问题。 - 直接将查询到的
$adUser对象传入Set-ADUser的-Identity参数,无需额外提取SamAccountName字段。
内容的提问来源于stack exchange,提问作者carproblems
相关产品推荐
相关产品推荐

