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配布グループにマネージャーを追加および削除する正しい方法は何ですか?
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
最終結果が「David」を所有者としての「Gerald」に置き換える場合は、Add/Replace構文を完全に回避します。
Set-DistributionGroup Sales -ManagedBy "Gerald"
これらの2つの操作をアトミックに実行する必要がある場合(mightが既存の値を置き換えたくない場合)、2つの異なる操作に分割します。
Set-DistributionGroup Sales -ManagedBy @{Add="Gerald"}
Set-DistributionGroup Sales -ManagedBy @{Remove="David"}