大家。我正在尝试运行 PowerShell 行将特定 OU 中的所有 UPN 更改为小写,但没有取得任何成功。根据之前的一些帖子并使用我用来成功更改其他属性的相同命令,我正在尝试以下操作:
Get-ADUser -Filter * -SearchBase "OU=[已编辑]" | Set-ADUser -replace @{userPrincipalName=userPrincipalName.ToLower}
但是当我运行此命令时,我收到一条错误消息,指出“userPrincipalName.ToLower”无法识别。我也尝试将 () 添加到 ToLower 的末尾,但结果相同。
如有任何建议,我们将不胜感激。谢谢您的宝贵时间。
您的代码中缺少一个循环来获取 被剔除的用户的
UserPrincipalName
,添加 ForEach-Object
并通过 $_.UserPrincipalName
引用它,然后您可以 .ToLower()
它:
Get-ADUser -Filter * -SearchBase 'OU=[REDACTED]' | ForEach-Object {
Set-ADUser -Identity $_ -UserPrincipalName $_.UserPrincipalName.ToLower()
}