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

[玩转系统] 使用 PowerShell 查找所有 Office 365 组所有者

作者:精品下载站 日期:2024-12-14 15:32:29 浏览:15 分类:玩电脑

使用 PowerShell 查找所有 Office 365 组所有者


要求:获取 Office 365 组所有者。

如何获得 Office 365 组所有者?

Office 365 组是组织内协作和信息共享的强大工具。作为管理员,您可能需要查看组的所有者以管理其访问和权限。如果您需要获取组织中的 Office 365 组所有者列表,本指南适合您!这篇博文将向您展示如何使用 PowerShell 查找 Office 365 中的所有组所有者。让我们开始吧!

若要从 Microsoft 365 管理中心获取 Office 365 组所有者,请执行以下操作:

  1. 登录 Microsoft 365 管理中心站点:https://admin.microsoft.com
  2. 展开“团队和组”,然后单击左侧导航中的“活跃团队和组”。
  3. 该组的页面列出了 Office 365 租户中的所有组。选择所需的组以列出该组的所有者。
  4. 单击“成员”选项卡,然后单击“所有者”。这列出了该组的所有所有者。

    [玩转系统] 使用 PowerShell 查找所有 Office 365 组所有者

您还可以使用 Exchange 管理中心获取 Microsoft 365 组的所有者。

  1. 使用您的管理员凭据登录 Exchange 管理中心。
  2. 在 Exchange 管理中心中,导航到组部分。
  3. 找到您要查看其所有者的组并单击它。
  4. 在群组的详细信息页面中,向下滚动到“所有者”部分。在这里您将看到所有群组所有者及其电子邮件地址的列表。

请记住,您需要全局管理员和 Exchange 管理员权限才能访问 Microsoft 365 管理中心和 Exchange 管理中心。

使用 PowerShell 获取 Office 365 组所有者

您可以使用 Get-UnifiedGroup 和 Get-UnifiedGroupLinks cmdlet 通过 PowerShell 获取 Office 365 组的所有者。提供该组的电子邮件地址或其可分辨名称作为输入。以下示例说明了如何使用 cmdlet 获取组的所有者:

此脚本连接到 Exchange Online 并获取给定 Office 365 组“[email protected]”的组所有者。


#Connect to Exchange Online
Connect-ExchangeOnline -Credential (Get-Credential) -ShowBanner:$False

#Get Owners of a Office 365 Group
Get-UnifiedGroup -Identity "[email protected]" | Get-UnifiedGroupLinks -LinkType Owner | Select DisplayName, PrimarySmtpAddress

#Disconnect Exchange Online
Disconnect-ExchangeOnline -Confirm:$False

使用 PowerShell 查找所有 Office 365 组所有者:

要获取所有 Office 365 组的所有者并导出到 CSV,请使用:


#Connect to Exchange Online
Connect-ExchangeOnline -ShowBanner:$False

#Get All Office 365 Groups
$GroupData = @()
$Groups = Get-UnifiedGroup -ResultSize Unlimited -SortBy Name

#Loop through each Group
$Groups | Foreach-Object {
    #Get Group Owners
    $GroupOwners = Get-UnifiedGroupLinks -LinkType Owners -Identity $_.Id | Select DisplayName, PrimarySmtpAddress
    $GroupData += New-Object -TypeName PSObject -Property @{
            GroupName = $_.Alias
            GroupEmail = $_.PrimarySmtpAddress 
            OwnerName = $GroupOwners.DisplayName -join "; "
            OwnerIDs = $GroupOwners.PrimarySmtpAddress -join "; "
    }
}
#Get Groups Data
$GroupData
$GroupData | Export-Csv "C:\Temp\GroupOwners.csv" -NoTypeInformation

#Disconnect Exchange Online
Disconnect-ExchangeOnline -Confirm:$False

PnP PowerShell 获取所有 Microsoft 365 组所有者

以下是 PnP PowerShell 脚本,用于获取 Microsoft 356 环境中所有组的所有所有者。


#Config Variables
$AdminSiteURL = "https://crescent-admin.sharepoint.com"
$CSVPath = "C:\Temp\GroupsOwnersData.csv"

Try {
    #Connect to PnP Online
    Connect-PnPOnline -Url $AdminSiteURL -Interactive

    #Get all Office 365 Groups
    $Groups = Get-PnPMicrosoft365Group
    
    $GroupsData = @()
    #Loop through each group
    ForEach($Group in $Groups)
    {
        Write-host "Processing Group:"$Group.DisplayName
        #Get Owners of the group
        $GroupOwners = (Get-PnPMicrosoft365GroupOwners -Identity $Group | Select -ExpandProperty UserPrincipalName) -join ";"

        #Get Group details
        $GroupsData += New-Object PSObject -property $([ordered]@{ 
            GroupName  = $Group.DisplayName
            Id = $Group.ID
            Visibility = $Group.Visibility
            Mail = $Group.Mail
            GroupOwners= $GroupOwners
        })
    }
    $GroupsData
    #Export Groups information to CSV
    $GroupsData | Export-Csv -Path $CSVPath -NoTypeInformation
}
Catch {
    write-host -f Red "Error:" $_.Exception.Message
}

使用 Azure AD PowerShell 查找 Office 365 组的所有者:

在运行此脚本之前,请确保您已安装“Azure AD”PowerShell 模块!


#Connect to AzureAD
Connect-AzureAD -Credential (Get-Credential) | Out-Null

#Get Group Owners
Get-AzureADGroupOwner -ObjectId (Get-AzureADGroup -SearchString "Purchase").ObjectId

PowerShell 从 Azure AD 生成组所有者报告


#Get Credentials to connect
$Cred = Get-Credential
 
#Connect to AzureAD
Connect-AzureAD -Credential $Cred | Out-Null
$GroupData = @()

#Get all Office 365 Groups
Get-AzureADMSGroup -Filter "groupTypes/any(c:c eq 'Unified')" -All:$true | ForEach-object {
    $GroupName = $_.DisplayName
    
    #Get Owners
    $GroupOwners = Get-AzureADGroupOwner -ObjectId $_.ID | Select UserPrincipalName, DisplayName 

        $GroupData += New-Object PSObject -Property ([Ordered]@{ 
        GroupName = $GroupName
        OwnerID = $GroupOwners.UserPrincipalName -join "; "
        OwnerName = $GroupOwners.DisplayName -join "; "
    })
}

#Export Group Owners data to CSV
$GroupData
$GroupData | Export-Csv "C:\Temp\GroupOwners.csv" -NoTypeInformation

脚本输出:

[玩转系统] 使用 PowerShell 查找所有 Office 365 组所有者

结论:

总之,从 Microsoft 365 租户获取 Office 365 组的所有者是一个简单而直接的过程。通过执行本文中概述的步骤,您可以轻松查看组的所有者并管理其访问和权限。 Microsoft 365 管理中心和 Exchange 管理中心提供了用于管理 Office 365 组的易于使用的界面,您可以使用 PowerShell cmdlet 快速轻松地查看组的所有者。请记住获得访问中心所需的权限。这些方法对于检查组所有权信息和管理组访问非常有用。

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

取消回复欢迎 发表评论:

关灯