Office 365中有很多通讯组(从旧的Lotus Notes系统移植)和越来越多的新Office 365组。
Powershell中是否有一个cmdlet或代码段可以判断一个组是一个还是另一个?
根据群组的类型,列出群组成员的功能需要知道是否要运行:
Get-UnifiedGroupLinks -Identity GroupName -LinkType Members
Get-DistributionGroupMember -Identity GroupName | select Displayname
答案 0 :(得分:0)
无法(我知道)查询这两种类型的组。例如,使用Get-DistributionGroup
将不会返回Office 365组。但是,您可以轻松使用它。
我不确定您当前的脚本是如何工作的,但如果您在任何时候使用Get-DistributionGroup
和Get-UnifiedGroup
查询您的组,并且(假设)创建一个powershell对象数组,您可以附加一个定义当时组类型的附加属性,因为知道相应命令返回的组是命令的类型。
如果您从未这样做,并且只使用组名,那么在以某种方式查询o365之前无法定义组的类型。遗憾的是,告诉哪一个可行的唯一真正方法是简单地使用try {x -ErrorAction Stop} catch {}
,因为每个命令在查询不属于其类型的组时都会抛出错误。
答案 1 :(得分:0)
是的,使用Get-Recipient。
在通讯组列表上,RecipientTypeDetails是MailUniversalDistributionGroup,但是在Office 365组上,RecipientTypeDetails是GroupMailbox