【问题标题】:How do I get my look to skip over if user exist in adgroup?如果用户存在于广告组中,如何让我的外观跳过?
【发布时间】:2021-09-09 03:51:06
【问题描述】:

我尝试了许多不同的方法,但仍然收到如下所示的相同错误消息。有人对此有解决方案吗?

代码:

$RolesCollection = @()
$Roles = Get-MsolRole
ForEach ($Role In $Roles){
  $Members = Get-MsolRoleMember -RoleObjectId $Role.ObjectId
  ForEach ($Member In $Members) {
    $data = New-Object PSObject -Property @{
      MemberObjectID = $Member.ObjectId
    }
    $RolesCollection += $data
  }
#Adds users with admin roles into PIM group via member object ID
      forEach ($user in $RolesCollection){

      #check if the user exists in the AAD Group, if not, add into it.
      $members = Get-AzureADGroupMember -ObjectId $adGroup | Select -ExpandProperty ObjectID


        If ($members -contains $user) {
            
            Write-Output " $user exist in $adgroup"

         } Else {
            Add-AzureADGroupMember -ObjectId $adGroup -RefObjectId $($user.MemberObjectID)
         }

      }
}

这是错误信息:

Add-AzureADGroupMember:执行 AddGroupMember 时出错 代码:Request_BadRequest 消息:以下修改的一个或多个添加的对象引用已经存在 属性:“成员”。

【问题讨论】:

    标签: azure-active-directory azure-powershell


    【解决方案1】:

    $members 不包括$user,因为它们的类型不同。

    您需要使用Get-AzureADUser 获取AAD 用户。

    #Adds users with admin roles into PIM group via member object ID
          forEach ($user in $RolesCollection){
    
          $targetUser = Get-AzureADUser -ObjectId $user.MemberObjectID | Select -ExpandProperty ObjectID
    
          #check if the user exists in the AAD Group, if not, add into it.
          $members = Get-AzureADGroupMember -ObjectId $adGroup | Select -ExpandProperty ObjectID
    
    
            If ($members -contains $targetUser) {
                
                Write-Output " $targetUser exist in $adgroup"
    
             } Else {
                Add-AzureADGroupMember -ObjectId $adGroup -RefObjectId $($user.MemberObjectID)
             }
    
          }
    

    【讨论】:

    • 谢谢。我现在可以让它工作了
    • @John418 如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)。见meta.stackexchange.com/questions/5234/…。这对其他社区成员可能是有益的。谢谢。
    猜你喜欢
    • 2017-11-09
    • 2018-10-03
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 2017-07-03
    • 2015-07-12
    相关资源
    最近更新 更多