如何用PowerShell批量更新Active Directory OU内所有用户属性?
批量更新AD指定OU内所有用户属性的PowerShell方案
不用逐个遍历用户的CN,直接把Get-ADUser的-SearchBase参数设为目标OU的distinguishedName即可,该命令会自动检索该OU范围内的所有用户,不需要手动处理每个用户的CN。
修改后的批量更新代码
# 替换为你要操作的目标OU的distinguishedName $targetOU = "OU=Users,OU=***,DC=***,DC=***" # 批量更新该OU下所有用户的属性 Get-ADUser -SearchBase $targetOU -Filter * | Set-ADUser -streetAddress "***" -City "***" -State "***" -PostalCode "*****" -Country "**" -Office "***" -Company "***"
关键参数说明
- -SearchScope:默认值是
Subtree,会包含目标OU及其所有子OU内的用户;如果只想更新当前OU(不包含子OU),添加参数-SearchScope OneLevel即可。 - -Filter:
*表示匹配该OU下所有用户,若需筛选特定用户(比如仅启用状态的用户),可修改为-Filter {Enabled -eq $true}这类精准筛选条件。
安全提示
执行前建议先给Set-ADUser添加-WhatIf参数,模拟修改操作,确认目标用户范围无误后再正式执行,避免误修改不必要的用户。
内容的提问来源于stack exchange,提问作者Abraham.Solis
相关产品推荐
相关产品推荐

