首页 > 解决方案 > PowerShell 365 - Remove-UnifiedGroupLinks 转换值错误

问题描述

我正在尝试清除 365 组的成员身份,但删除命令不接受通配符,因此选择使用“get-user”并将其放入“foreach”中。然而这个错误。你能帮我吗?

#get list
$users = Get-UnifiedGroupLinks –Identity "testgroup" -LinkType Members
#empty list
    foreach($user in $users){
        Remove-UnifiedGroupLinks –Identity "testgroup" –LinkType "Members" –Links $user
    }

错误

Cannot process argument transformation on parameter 'Links'. Cannot convert value "System.Collections.ArrayList" to type "Microsoft.Exchange.Configuration.Tasks.RecipientIdParameter[]". Error: "Cannot 
convert the "Mr User" value of type "Deserialized.Microsoft.Exchange.Data.Directory.Management.ReducedRecipient" to type "Microsoft.Exchange.Configuration.Tasks.RecipientIdParameter"."
    + CategoryInfo          : InvalidData: (:) [Remove-UnifiedGroupLinks], ParameterBindin...mationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Remove-UnifiedGroupLinks
    + PSComputerName        : outlook.office365.com

标签: powershelloffice365exchange-server

解决方案


Remove-UnifiedGroupLinks上的Links参数指定要从 Microsoft 365 组中删除的用户。它需要一个唯一标识收件人的值,为此您可以使用以下任何一种:

  • 姓名
  • 别名
  • 专有名称 (DN)
  • 规范 DN
  • 电子邮件地址
  • 图形用户界面

在您的代码中,您只需要从返回的成员对象中选择这样的属性Get-UnifiedGroupLinks,例如用户的电子邮件地址。

尝试

#get list
$users = (Get-UnifiedGroupLinks –Identity "testgroup" -LinkType Members).PrimarySMTPAddress
#empty list
foreach($user in $users){
    Remove-UnifiedGroupLinks –Identity "testgroup" –LinkType Members –Links $user
}

推荐阅读