Как в среде Exchange 2010 (версия 14.3, сборка 123.4) добавить нового пользователя к атрибуту ManagedBy и одновременно удалить другого с помощью PowerShell? (Я сделаю это для нескольких списков с помощью foreach)
В этом сообщении блога TechNet http://blogs.technet.com/b/dstrome/archive/2011/05/29/multivalued-properties-in-exchange-2010.aspx синтаксис массива (я пробовал Добавить перед удалением, те же результаты):
Set-DistributionGroup Sales -ManagedBy @{Remove="David"; Add="Gerald"}
приводит к сообщению:
All groups must have at least one owner who manages membership, message approval, and other settings for the group.
Как правильно добавлять и удалять менеджеров из групп рассылки Exchange 2010?
ManagedBy - это параметр MultiValuedProperty.
Чтобы добавить, используйте операцию «плюс» (+), см. Пример ниже. Чтобы вычесть, используйте операцию вычитания равно (- =), см. Второй пример ниже.
Пример добавления пользователя:
$mgr = get-user gerald
foreach ($thing in $things) {
$group = Get-DistributionGroup $thing
$managers = $group.ManagedBy
$newmanagers = $managers+$mgr
Set-DistributionGroup -BypassSecurityGroupManagerCheck -ManagedBy $newmanagers -Identity $thing
}
И, чтобы удалить пользователя (используя DistinguishedName):
$removethis = "CN=David,OU=Houston,DC=company,DC=com"
при итерации по списку менеджеров $ (см. выше):
foreach ($manager in $managers) {
$dn = $manager.DistinguishedName
if ($dn -eq $removethis) {
$modifiedmanagers = ($managers -= $removethis)
}
}
затем используйте это в командлете:
Set-DistributionGroup -BypassSecurityGroupManagerCheck -ManagedBy $modifiedmanagers -Identity $thing
Если конечным результатом является замена «Дэвида» на «Джеральда» в качестве владельца, вообще избегайте синтаксиса добавления / замены:
Set-DistributionGroup Sales -ManagedBy "Gerald"
Если вы должны выполнить эти две операции атомарно (если у вас есть случаи, когда вы мощь не хотите заменять существующие значения), разделите его на две отдельные операции:
Set-DistributionGroup Sales -ManagedBy @{Add="Gerald"}
Set-DistributionGroup Sales -ManagedBy @{Remove="David"}