Remove-DistributionGroupMember - 指定唯一用户

时间:2012-05-16 18:00:23

标签: powershell exchange-server

我正在尝试使用powershell从分发列表中删除一堆成员。我最初使用别名值来指定成员但遇到错误,说有多个成员具有指定的别名。所以我试图用别的东西来唯一地识别这些成员。

根据this文档,Get-DistributionGroupMember在身份下具有许多与Remove-DistributionGroupMember cmdlet成员之下相同的字段,但除了别名之外,我无法获取其中任何字段。到目前为止,这是我的代码:

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

这是产生重复成员错误的代码。如果我将两个“别名”属性都更改为“guid”,我会得到一个不同的错误:

  

无法在参数'Member'上处理参数转换。不能   转换“4ed0987f-7c86-48e7-8f47-ca9ad731e2fd”类型的值   键入“System.Guid”   “Microsoft.Exchange.Configuration.Tasks.GeneralRecipientIdParameter”。       + CategoryInfo:InvalidData:(:) [Remove-DistributionGroupMember],ParameterBindin ... mationException       + FullyQualifiedErrorId:ParameterArgumentTransformationError,Remove-DistributionGroupMember

我是否应该以不同的方式解决这个问题? 我是powershell的新手,所以我会为你提供任何额外的建议。感谢

1 个答案:

答案 0 :(得分: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
}
相关问题