我正在尝试从公司内的MSOL组中删除所有禁用的用户。大约有50个用户,我已经从共享邮箱的所有DL中删除了它们,但是我仍然需要将它们从MSOL组中删除。我写的东西很简单。
$import = Import-Csv "C:\Users\Person\Desktop\DisabledMSOL.csv"
foreach($user in $import) {
$DisabledUserParams = @{
PersonID = $user.GroupID
ObjectId = $user.ObjectId
}
Remove-MsolGroupMember -GroupObjectId $DisabledUserParams.ObjectId -GroupMemberType User -GroupmemberObjectId $DisabledUserParams.PersonID}
问题是当我运行此命令时,出现此错误:
Remove-MsolGroupMember : Cannot bind parameter 'GroupMemberObjectId'. Cannot convert value "" to type "System.Guid"
Error: "Unrecognized Guid format."
At line:11 char:111
+ ... oupMemberType User -GroupmemberObjectId $DisabledUserParams.PersonID}
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Remove-MsolGroupMember],
ParameterBindingException
+ FullyQualifiedErrorId :CannotConvertArgumentNoMessage,Microsoft.Online.Administration.Automation.RemoveGroupMember
请让我知道您的想法。
*此外,您如何在此站点上绘制黄色轮廓?我从未真正发现如何做。
谢谢。
答案 0 :(得分:0)
如果您在csv文件中有大约50条记录,并且在尝试运行脚本时收到大约50条错误,我将再次检查这些列/属性名称
如果您尝试访问一个不存在的属性,Powershell将静默继续。
如果获得部分成功(某些记录可以工作而另一些则不能),那么我将检查csv中的值以查找失败。您可能认为自己有ObjectId
,但可能没有。
最后,检查您的分隔符。如果csv文件是制表符或管道分隔符,则需要在Import-Csv
调用中指定该分隔符。
祝你好运!
答案 1 :(得分:0)
之所以不起作用,是因为存在一个关于Exchange Online中的cmndlet及其相关语法的误解的问题。我没有Prem服务器,我们在线进行所有Exchange。尽管它正确地从CSV捕获了GUID,但这是错误的语法:
Remove-MsolGroupMember -GroupObjectId $DisabledUserParams.ObjectId -GroupMemberType User -GroupmemberObjectId $DisabledUserParams.PersonID}
正确的语法是:
Remove-RecipientPermission $DisabledUserParams.ObjectId -Trustee $DisabledUserParams.PersonID -AccessRights SendAs
由于某种原因,MSOL组成为了一个邮件组,只具有发送权限。此外,它只会删除/添加使用该语法的用户
Remove-RecipientPermission
不过,谢谢您的帮助。我感谢从本网站获得的所有建议。