首页 > 解决方案 > 通过 PowerShell 提取 Office 365 组需要 ManagedBy 属性来显示 UPN 而不是显示名称

问题描述

我对 PowerShell 相当陌生。我使用 get-unifiedgroup 命令提取所有 Office 365 组。它是成功的,但 ManagedBy 只显示所有者 DisplayName 而不是 UPN。有什么推荐吗?下面是我使用的命令。蒂亚!!

Get-UnifiedGroup -ResultSize unlimited | Select-Object DisplayName,PrimarySMTPAddress,ManagedBy,AccessType,WhenCreated,WhenChanged | Export-CSV C:\Users\XXXX\Downloads\XXXXX.csv

标签: powershellazure-powershell

解决方案


尝试这个:

$groups = Get-UnifiedGroup -ResultSize unlimited | Select-Object DisplayName,PrimarySMTPAddress,ManagedBy,AccessType,WhenCreated,WhenChanged

foreach ($group in $groups){
    $managedBys = ""

    foreach ($managedBy in $group.ManagedBy){
        $user = Get-User -Filter "Name -eq '${managedBy}'" | Select-Object UserPrincipalName
        if($managedBys -eq ""){
            $managedBys += $user.UserPrincipalName
        }else{
            $managedBys += "," + $user.UserPrincipalName
        }
    }

    $group.ManagedBy.Clear() 

    $group.ManagedBy.Add($managedBys)
}

$groups | Export-CSV C:\Users\XXXX\Downloads\XXXXX.csv

请注意,由于使用循环,它可能会影响效率。


推荐阅读