使用Powershell从givenName和surName重命名displayName和CN?

我需要协调displayNameCN属性到AD中的givenNamesurName字段。

是否有可能采取givenNamesurName并重命名显示名称和CN使用Powershell?

Powershell真的很适合这样的清理任务。

 Import-Module ActiveDirectory $allUsers = Get-ADUser -Filter * -Properties cn,displayName foreach ( $u in $allUsers | Where-Object { ($_.givenName) -and ($_.surName) } ) { $fn = $u.givenName.Trim() $ln = $u.surName.Trim() Write-Host $fn $ln Set-ADUser -Identity $u -DisplayName "$fn $ln" -GivenName "$fn" -SurName "$ln" -PassThru | Rename-ADObject -NewName "$fn $ln" } 

注意事项:

  1. 我是Trim()给定名称和surName删除前导/尾随空格。 我们将这两个返回到帐户,以及更正displayNamecn
  2. Get-ADUser -Filter范围只收集您想要的用户。 *会抓住域中的所有人 ,包括内置的,pipe理员等。这可能不是你想要的。 🙂
  3. foreachWhere-Object部分将跳过没有givenNamesurName属性的用户对象。
  4. 如果您需要使用重命名的用户对象进行播放,请将-PassThru添加到Rename-ADObject行的末尾,并将该对象传回给您。