首页 > 解决方案 > Powershell 更改多个用户的 AD 属性

问题描述

仍在为 AD 学习 Powershell,我有一个问题困扰着我。必须在特定位置为 AD 中的多个用户更改 AD 属性,例如,我们有来自柏林和华盛顿的相同 OU 人员,并且在每个配置文件中都设置了城市,但我想知道在更改地址之前是否还需要获取属性像这样的地方之一

Get-ADUser -filter 'City -like "Berlin"' -SearchBase 'OU=Users,OU=Staff,DC=Contoso,DC=com' -Properties StreetAddress, PostalCode | % {Set-ADUser $_ -Replace @{StreetAddress="New street 11";PostalCode="221202XX"}}

或者如果它也可以在不执行 -Properties 的情况下工作,并且只需将过滤器城市结果传递给 Set-ADUser

谢谢你。

标签: powershell

解决方案


-Properties除非您想在输出中看到它们,否则您不需要指定。你也不需要foreach,简单的管道Set-ADUser就足够了。

Get-ADUser -filter 'City -like "Berlin"' -SearchBase 'OU=Users,OU=Staff,DC=Contoso,DC=com' |
    Set-ADUser $_ -Replace @{StreetAddress="New street 11";PostalCode="221202XX"}

这将更新这些值就好了。过滤也是如此。以下命令将过滤邮政编码,但它不会包含在输出中,除非您添加-Properties postalcode

Get-ADUser -Filter "PostalCode -eq '221202XX'"

推荐阅读