You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell将Azure AD授权用户与共享邮箱导出至同一Excel?

解决方案

修改后的完整代码

# 导入所需模块(需提前安装并具备对应权限)
Import-Module MSOnline
Import-Module ExchangeOnlineManagement

# 连接Azure AD和Exchange Online(根据实际环境选择验证方式)
Connect-MsolService
Connect-ExchangeOnline

# 获取带许可证的用户数据,每个许可证对应一行记录
$licensedUsers = Get-MsolUser -All | Where-Object { $_.IsLicensed -eq $true }
$userResults = foreach ($user in $licensedUsers) {
    foreach ($license in $user.Licenses.AccountSkuId) {
        [PSCustomObject]@{
            数据类型      = "授权用户"
            邮箱名称      = $user.DisplayName
            名字          = $user.FirstName
            姓氏          = $user.LastName
            登录账号      = $user.UserPrincipalName
            省份          = $user.State
            许可证SKU     = $license
            # 授权用户独有的字段,共享邮箱将显示为空
        }
    }
}

# 获取共享邮箱数据
$sharedMailboxes = Get-Mailbox -Filter { RecipientTypeDetails -eq "SharedMailbox" }
$mailboxResults = foreach ($mailbox in $sharedMailboxes) {
    [PSCustomObject]@{
        数据类型      = "共享邮箱"
        邮箱名称      = $mailbox.Name
        邮箱别名      = $mailbox.Alias
        主邮箱地址    = $mailbox.PrimarySmtpAddress
        所属数据库    = $mailbox.Database.Name
        # 共享邮箱独有的字段,授权用户将显示为空
    }
}

# 合并两类数据
$combinedData = $userResults + $mailboxResults

# 导出至Excel文件
$combinedData | Export-Excel -Path "C:\Temp\CombinedResults.xlsx" -AutoSize -AutoFilter -FreezeTopRow

关键调整说明

  1. 许可证循环的合理性
    你原代码中foreach ($license in $licenses)的写法完全正确——一个用户可能绑定多个付费许可证,循环输出每行对应一个许可证,能让客户清晰看到每个付费许可的归属对象,完全匹配需求。如果需要将同一用户的多个许可证合并到一行,可替换为$user.Licenses.AccountSkuId -join ", ",但当前分条展示的方式更直观。

  2. 共享邮箱数据补全
    原代码中$mailboxResults是空对象,现在补充了共享邮箱的核心业务字段,同时新增「数据类型」字段,方便快速区分授权用户和共享邮箱。

  3. 字段差异处理
    PowerShell合并两个PSCustomObject数组时,会自动整合所有存在的字段:某类数据没有的字段会填充为空值,Export-Excel会将所有字段作为列输出到表格中,完美实现「同一文件展示不同字段的两类数据」的需求。

  4. 细节优化

    • 将MsolUser的Alias替换为UserPrincipalName,避免部分用户Alias为空的情况;
    • 添加-FreezeTopRow参数,提升Excel表格的可读性;
    • 统一字段命名风格,降低后续维护成本。

内容的提问来源于stack exchange,提问作者Wakkerman10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 17:52:41