web-dev-qa-db-ja.com

配布グループの所有者の管理Exchange PowerShell

Exchange 2010(バージョン14.3ビルド123.4)環境で、PowerShellを使用して「ManagedBy」属性に新しいユーザーを追加し、同時に別のユーザーを削除するにはどうすればよいですか? (私は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配布グループにマネージャーを追加および削除する正しい方法は何ですか?

3
jcarpio

ManagedByはMultiValuedPropertyパラメータです。

追加するには、プラス(+)演算を使用します。以下の例を参照してください。減算するには、等しい(-=)演算を使用します。以下の2番目の例を参照してください。

ユーザーを追加する例:

$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"

$ managers(上記を参照)のリストを反復しながら:

foreach ($manager in $managers) {
    $dn = $manager.DistinguishedName
    if ($dn -eq $removethis) {
        $modifiedmanagers = ($managers -= $removethis)
    }
}

次に、それをコマンドレットで使用します。

    Set-DistributionGroup -BypassSecurityGroupManagerCheck -ManagedBy $modifiedmanagers -Identity $thing
2
jcarpio

最終結果が「David」を所有者としての「Gerald」に置き換える場合は、Add/Replace構文を完全に回避します。

Set-DistributionGroup Sales -ManagedBy "Gerald"

これらの2つの操作をアトミックに実行する必要がある場合(mightが既存の値を置き換えたくない場合)、2つの異なる操作に分割します。

Set-DistributionGroup Sales -ManagedBy @{Add="Gerald"}
Set-DistributionGroup Sales -ManagedBy @{Remove="David"}
2