我需要在Exchange中为~500个邮箱更改自定义属性1和2 与邮箱关联的用户帐户分布在AD中的10-15个OU,每个不同的OU需要不同的自定义属性。
理想情况下,我不想为每个邮箱运行以下命令两次
Set-Mailbox user@domain.com -CustomAttribute1 "X"
SUDO
获取AD中给定OU中所有用户,电子邮件组,联系人,房间的列表
将每个自定义属性1更改为X
将每个自定义属性2更改为X
答案 0 :(得分:0)
使用LDAP过滤器:
(|
(objectCategory=person)
(&
(objectCategory=group)
(!
(groupType:1.2.840.113556.1.4.803:=2147483648)
)
)
(msExchResourceMetaData=ResourceType:Room)
)
以上匹配以下对象类型:
(objectCategory=person)
(&(objectCategory=group)(!(groupType:1.2.840.113556.1.4.803:=2147483648)))
(从技术上讲,这意味着:不属于安全组的组)(msExchResourceMetaData=ResourceType:Room)
您可以选择与Get-ADObject
匹配该过滤条件的AD对象,并使用Set-ADObject
修改其属性:
$ou = 'OU=some unit,DC=example,DC=com'
$fltr = '(|(objectCategory=person)' +
'(&(objectCategory=group)' +
'(!(groupType:1.2.840.113556.1.4.803:=2147483648)))' +
'(msExchResourceMetaData=ResourceType:Room))'
Get-ADObject -LDAPFilter $fltr -SearchBase $ou -SearchScope Subtree |
Set-ADObject -Replace @{
'extensionAttribute1' = 'X'
'extensionAttribute2' = 'X'
}
我不完全确定属性名称,因为我手头没有Exchange。您必须在此处使用其LDAP名称,而不是任何花哨的别名。