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

[玩转系统] 使用 PowerShell 查找用户的所有 Office 365 组成员身份

作者:精品下载站 日期:2024-12-14 21:28:21 浏览:16 分类:玩电脑

使用 PowerShell 查找用户的所有 Office 365 组成员身份


要求:获取特定用户作为成员(或所有者!)的所有 Microsoft 365 组的列表。

如何查找特定用户的所有 Office 365 组成员身份?

如果您需要查找用户所属的所有 Office 365 组成员身份,PowerShell 是您的最佳选择。本文将向您展示如何使用 PowerShell 查找指定用户的所有 Office 365 组成员身份。如果您想要清理用户的组成员身份或只是想更好地了解他们的整体协作环境,这可能特别有用。

要了解用户拥有哪些 Office 365 组成员身份,请执行以下操作:

  1. 登录 Microsoft 365 管理中心 https://admin.microsoft.com
  2. 在“用户”选项卡下,搜索并找到您感兴趣的用户。
  3. 单击用户名打开用户属性 >> 在用户属性窗格中,单击“组”下的“管理组”。

    [玩转系统] 使用 PowerShell 查找用户的所有 Office 365 组成员身份

  4. 这将获取用户所属的所有 Office 365 组。 (不仅是 Microsoft 365 组,还包括安全组和通讯组列表)。

    [玩转系统] 使用 PowerShell 查找用户的所有 Office 365 组成员身份

用于查找用户 Office 365 组成员身份的 PowerShell

现在,让我们使用 PowerShell 检索给定用户的组成员身份。

先决条件:安装 AzureAD PowerShell 模块以从 PowerShell 连接到 Azure Active Directory

您必须安装 AzureAD PowerShell 模块。如果系统中已安装 AzureAD PowerShell 模块,此脚本将安装该模块。确保您以管理员身份运行它!


#Check if AzureAD Module is installed
$AzureAD = (Get-Module AzureAD -ListAvailable).Name

Try {
    If ($AzureAD -eq $null) 
    {
        Write-host "AzureAD module is unavailable! Installing AzureAd module..." -f Yellow

        #Install AzureAD Module
        Install-Module AzureAd -Allowclobber -Repository PSGallery -Force
        Write-host "AzureAD Module installed to your machine Successfully!" -f Green
    }
    Else { 
        Write-host "AzureAD Module is already installed in this system!" -f Yellow
    }
}
Catch {
    write-host -f Red "`tError:" $_.Exception.Message
}

安装 AzureAD PowerShell 模块后,使用此 PowerShell 脚本查找用户所属的所有 Office 365 组并将数据导出到 CSV 文件。


Import-Module AzureAd -ErrorAction SilentlyContinue

#Parameters
$UserID = "[email protected]"
$CSVFile = "C:\Temp\GroupMemberships.csv"

Try {
    #Connect to Azure AD
    Connect-AzureAD -Credential (Get-Credential) | Out-Null

    #Get the User
    $User = Get-AzureADUser -ObjectId $UserID

    #Get User's Group Memberships
    $Memberships = Get-AzureADUserMembership -ObjectId $User.ObjectId | Where-object { $_.ObjectType -eq "Group" }

    #Export group memberships to a CSV
    $Memberships | Select DisplayName, Mail, ObjectId | Export-Csv -LiteralPath $CSVFile -NoTypeInformation
}
Catch {
    write-host -f Red "`tError:" $_.Exception.Message
} 

请注意,仅当给定用户添加为组成员时,此脚本才会获取该用户的所有组成员身份。要获取用户是所有者的所有组,请使用以下命令:


$Ownerships  = Get-AzureADUserOwnedObject -ObjectId $User.ObjectId | Where-object { $_.ObjectType -eq "Group" }

结论

总之,使用 PowerShell 获取 Office 365 用户的组成员身份是收集此信息的快速有效的方法。通过使用 Get-AzureADUser cmdlet 并将结果通过管道传输到 Get-AzureADUserMembership cmdlet,可以检索用户所属的所有组的列表。这可用于多种目的,例如报告、审核和管理用户对资源的访问。通过遵循本教程中概述的步骤,您可以轻松使用 PowerShell 获取 Office 365 用户的组成员身份。

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

取消回复欢迎 发表评论:

关灯