0

powershell を使用して、配布リストから多数のメンバーを削除しようとしています。私はもともとエイリアス値を使用してメンバーを指定していましたが、指定されたエイリアスを持つ複数のメンバーが存在するというエラーが発生しました。そのため、これらのメンバーを一意に識別するために何か他のものを使用しようとしています。

このドキュメントによると、Get-DistributionGroupMember には、 Remove-DistributionGroupMemberコマンドレットが memberの下にあるのと同じ多くのフィールドが ID の下にありますが、エイリアス以外のフィールドを機能させるのに問題があります。これまでの私のコードは次のとおりです。

foreach ($member in Get-DistributionGroupMember -Identity $selecteddl | Select-Object Alias) {
        Remove-DistributionGroupMember -Identity $selecteddl -Member $member.alias -Confirm:$False
    }

これは、重複メンバーのエラーを生成するコードです。「エイリアス」プロパティの両方を「guid」に変更すると、別のエラーが発生します。

パラメータ 'Member' の引数変換を処理できません。"System.Guid" 型の "4ed0987f-7c86-48e7-8f47-ca9ad731e2fd" 値を "Microsoft.Exchange.Configuration.Tasks.GeneralRecipientIdParameter" 型に変換できません。+ CategoryInfo : InvalidData: (:) [Remove-DistributionGroupMember], ParameterBindin...mationException + FullyQualifiedErrorId : ParameterArgumentTransformationError,Remove-DistributionGroupMember

この問題を回避するために別の方法で行うべきことはありますか? 私はpowershellに非常に慣れていないので、あなたが私のために持っている追加のヒントを取り入れます. ありがとう

4

1 に答える 1

0

更新:これで操作を簡素化できます。繰り返しますが、これによりすべてのメンバーが削除されるため、Remove-DistributionGroupMember にパイプする前にフィルター処理を行うことをお勧めします。

Get-DistributionGroupMember $selecteddl | Remove-DistributionGroupMember $selecteddl -Confirm:$false

ドキュメントによると、エイリアスは正当な値である必要があります。私は今これをテストすることはできませんが、これはうまくいくはずです。すべてのグループ メンバーを削除していることに注意してください。

foreach ($member in Get-DistributionGroupMember -Identity $selecteddl) 
{
  Remove-DistributionGroupMember -Identity $selecteddl -Member $member -Confirm:$False
}
于 2012-05-16T19:01:05.697 に答える