当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 通过 PowerShell 清理 M365 Azure AD 组

作者:精品下载站 日期:2024-12-14 07:13:47 浏览:12 分类:玩电脑

通过 PowerShell 清理 M365 Azure AD 组


在云环境中,尤其是在较大的结构中,清除旧的或孤立的组也很重要。因此,一个简单的方法是检查 Azure AD 组中是否存在禁用用户。当然,如果删除禁用用户,M365 中也可以节省一些许可证。

在这个用例中,我编写了一个小的 PowerShell 脚本来检查组的成员并查找所有禁用的用户,如果您愿意,还可以删除该组的成员身份。

Connect-AzureAD
$grouptoclean = "XXXXX"

$groupid = (Get-AzureADGroup -SearchString "$grouptoclean").ObjectId 
$groupmembers = (Get-AzureADGroupMember  -ObjectId "$groupid" -All $true)  | Sort-Object UserPrincipalname
$inactiveusers = @()
foreach($user in $groupmembers){

    $upn = ($user).UserPrincipalname
    
    $enabled = Get-AzureADUser  -SearchString $upn  | Where-Object{$_.AccountEnabled -eq $false}
    
    $active = ($enabled).AccountEnabled
    $userid = ($enabled).ObjectId
    
    if($enabled){
      Write-Host "UPN: $upn is disabeld, Status: $active" -ForegroundColor Yellow
      $inactiveusers += $upn
      #Remove-AzureADGroupMember -ObjectId $groupid -MemberId $userid 
      
    }
    else{
        $member = Get-AzureADUser -SearchString $upn 
                
        $upnmember = ($member).UserPrincipalName
        $activemember = ($member).AccountEnabled
        
      Write-Host "UPN: $upnmember Status: $activemember"
    
    } 
    
   
  } 
  $inactiveusers | sort
  ($inactiveusers).count 
#$inactiveusers = $null

[玩转系统] 通过 PowerShell 清理 M365 Azure AD 组

yello 输出显示该组中包含的所有禁用用户。如果删除第 19 行中的 #,此脚本将直接删除所有禁用的用户。

Remove-AzureADGroupMember -ObjectId $groupid -MemberId $userid 

享受清洁 M365 组的乐趣。

注意:如果您编辑通讯组,请注意该组中是否有共享邮箱成员。默认情况下,这些用户被禁用。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯