Powershell 从MSOL组中删除用户

Powershell 从MSOL组中删除用户,powershell,Powershell,我正在尝试从公司内的MSOL组中删除所有禁用的用户。大约有50个用户,我已经将他们从所有DLs和共享邮箱中删除,但我仍然需要将他们从MSOL组中删除。我已经写了一些相当简单的东西来做到这一点 $import = Import-Csv "C:\Users\Person\Desktop\DisabledMSOL.csv" foreach($user in $import) { $DisabledUserParams = @{ PersonID = $user.GroupID ObjectId

我正在尝试从公司内的MSOL组中删除所有禁用的用户。大约有50个用户,我已经将他们从所有DLs和共享邮箱中删除,但我仍然需要将他们从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
请让我知道你的想法

*另外,你如何在这个网站上制作黄色轮廓?我从来没有真正发现如何做到这一点


谢谢。

如果您在csv文件中有大约50条记录,并且在尝试运行脚本时出现大约50个错误,我会再次检查这些列/属性名称

如果尝试访问不存在的属性,Powershell将以静默方式继续

如果您获得了部分成功(一些记录有效,而其他记录无效),我会检查csv中的值以查找失败。您可能认为您有一个
对象ID
,但可能没有

最后,检查您的分隔符。如果csv文件以制表符或管道分隔,则需要在
导入csv
调用中指定该分隔符


祝你好运

它之所以不起作用,是因为存在误解Exchange online中的CMNDlet及其语法的问题。我没有Prem服务器,我们都在线交换。尽管它正确地从CSV获取了GUI,但语法错误:

Remove-MsolGroupMember -GroupObjectId $DisabledUserParams.ObjectId -GroupMemberType User -GroupmemberObjectId $DisabledUserParams.PersonID}
正确的语法是:

Remove-RecipientPermission $DisabledUserParams.ObjectId -Trustee $DisabledUserParams.PersonID -AccessRights SendAs
出于某种原因,MSOL组被设置为仅具有“作为发送”访问权限的邮件组;此外,它将只删除/添加使用该语法的用户

Remove-RecipientPermission 

谢谢你的帮助。我很感激从这个网站上得到的所有建议

GroupMemberObjectId
需要GUID。似乎在您的CSV中,
GroupID
(您稍后将其翻译为
$DisabledUserParams.PersonID
)p.s.没有任何价值。请阅读此处的黄色大纲谢谢,我会看一看。我还将用户和MSOL组的GUID都放在该CSV文件中。通过飞溅表传递它是否有问题?没有问题,但由于您实际上没有飞溅,我认为没有理由转换您可以直接使用的CSV值。看,我认为你真的需要向我们展示CSV是什么样子。。