PowerShell-检查用户是否是组X的成员(“Get-MsolGroupMember”vs.“Get-DistributionGroupMember”)
我很难检查用户X是否是某些Office 365组的成员。我尝试了以下代码:PowerShell-检查用户是否是组X的成员(“Get-MsolGroupMember”vs.“Get-DistributionGroupMember”),powershell,office365,Powershell,Office365,我很难检查用户X是否是某些Office 365组的成员。我尝试了以下代码: $members = (Get-MsolGroupMember -GroupObjectId $group.ObjectId -All).ForEach('ObjectId') if($Office365User.ObjectId -in $members) { # ... user already a member of group Y } 但由于未知原因,返回的不是所有成员。我在1-2小时前添加了两个用户,
$members = (Get-MsolGroupMember -GroupObjectId $group.ObjectId -All).ForEach('ObjectId')
if($Office365User.ObjectId -in $members) {
# ... user already a member of group Y
}
但由于未知原因,返回的不是所有成员。我在1-2小时前添加了两个用户,这些用户不包括在结果集中
我的下一种方法使用cmdletGet DistributionGroupMember
,但集合中的对象没有support属性ObjectId
我目前正在使用此代码测试用户X是否是组Y的成员:
function Test-UserisAlreadyGroupMember() {
param(
[PARAMETER(Mandatory)]
[Microsoft.Online.Administration.Group]
$Group,
[PARAMETER(Mandatory)]
[Microsoft.Online.Administration.User]
$Office365User
)
$isMember = $false;
if($Group.GroupType -eq [GroupType]::DistributionList) {
$members = (Get-DistributionGroupMember -Identity $Group.EmailAddress).ForEach('PrimarySmtpAddress')
$isMember = ($Office365User.UserPrincipalName -in $members)
}
else {
$members = (Get-MsolGroupMember -GroupObjectId $group.ObjectId -All).ForEach('ObjectId')
$isMember = ($Office365User.ObjectId -in $members)
}
$isMember
}
这导致了以下问题:
Get MsolGroupMember
而不是该组的所有成员您是否尝试使用Get UnifiedGroupLinks?MS不断更改Office365 cmdlet及其输出。根据technet的说法,您现在必须使用这些cmdlet。UnifiedGroup似乎适用于“Office 365组”,但不适用于通讯组您所说的是Office 365组,而不是“常规”通讯组。Office365组(统一组)是一种特殊类型的组。365组!=exchange通讯组(365组实际上位于Sharepoint Online中)