You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求PowerShell脚本:将AD用户及OU的Fullname设为与UserPrincipalName一致

PowerShell 修改AD用户Fullname属性匹配UserPrincipalName

说明

AD中用户的CN(即Name属性)创建后无法修改,你提到的"Fullname"通常对应AD的DisplayName属性,以下脚本将该属性修改为与UserPrincipalName(登录名)完全一致。

前提

  • 执行脚本的账号需拥有AD用户修改权限
  • 系统需已加载ActiveDirectory PowerShell模块:
    • 域控制器默认自带该模块
    • 成员服务器可通过命令安装:Install-WindowsFeature RSAT-AD-PowerShell(无需安装完整AD管理程序)

脚本实现

1. 单用户修改

针对特定用户执行修改:

# 替换为目标用户的SamAccountName或用户DN
$userIdentity = "fabio.b"
$user = Get-ADUser -Identity $userIdentity -Properties UserPrincipalName, DisplayName
Set-ADUser -Identity $user -DisplayName $user.UserPrincipalName

2. 批量修改指定OU下的所有用户

修改指定组织单元内的全部用户:

# 替换为目标OU的完整DN
$targetOU = "OU=Sales,DC=contoso,DC=com"
$users = Get-ADUser -Filter * -SearchBase $targetOU -Properties UserPrincipalName, DisplayName

foreach ($user in $users) {
    Write-Host "修改用户: $($user.SamAccountName) | 原DisplayName: '$($user.DisplayName)' → 新DisplayName: '$($user.UserPrincipalName)'"
    Set-ADUser -Identity $user -DisplayName $user.UserPrincipalName
}

3. 批量修正属性不一致的用户

仅修改DisplayName与UserPrincipalName不匹配的用户:

$users = Get-ADUser -Filter { DisplayName -ne UserPrincipalName } -Properties UserPrincipalName, DisplayName

foreach ($user in $users) {
    Write-Host "修正用户: $($user.SamAccountName)"
    Set-ADUser -Identity $user -DisplayName $user.UserPrincipalName
}

验证修改结果

执行以下命令确认属性已同步:

Get-ADUser -Identity "目标用户名" -Properties UserPrincipalName, DisplayName | Select-Object SamAccountName, UserPrincipalName, DisplayName

内容的提问来源于stack exchange,提问作者Fabio Brigoni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 13:24:26