【问题标题】:How to display the license type for each user in office 365 powershell script如何在 office 365 powershell 脚本中显示每个用户的许可证类型
【发布时间】:2021-01-19 16:18:26
【问题描述】:

我正在尝试显示从 Office 365 导出的用户的用户名和主 SMTP 地址,以及分配给每个用户的许可证类型。我得到的输出显示用户名已获得许可 true 和 SMTP 电子邮件地址,但未显示分配给该用户的许可。

这是我目前的脚本:

Connect-MsolService
get-msoluser -All | where-object {$_.islicensed -eq "true"} |
Select-Object Displayname,islicensed,
@{n="PrimarySMTP";e={$_.proxyAddresses | Where-Object {$_ -clike "SMTP:*"}}}

给我一​​个输出:

SMPO Admin           True            SMTP:admin@domain.co.za            
Joe Smith            True            SMTP:joe@domain.co.za                
Kevin Smith          True            SMTP:kevin@domain.co.za                     
Monica Smith         True            SMTP:monica@domain.co.za    

我想展示的地方

Monica Smith         True            SMTP:monica@domain.co.za      EXCHANGE ONLINE PLAN 1  
SMPO Admin           True            SMTP:admin@domain.co.za       ENTERPRISE PACK     
Joe Smith            True            SMTP:joe@domain.co.za         ENTERPRISE PACK      
Kevin Smith          True            SMTP:kevin@domain.co.za       ENTERPRISE PACK

【问题讨论】:

    标签: powershell


    【解决方案1】:

    您需要使用LicenseAssignmentDetails 属性。例如,要生成以空格分隔的许可证列表,您可以使用:

    | Select-Object Displayname,islicensed,
    @{n="PrimarySMTP";e={$_.proxyAddresses | Where {$_ -clike "SMTP:*"}}},
    @{n="Licenses";e={$_.LicenseAssignmentDetails.AccountSku.SkuPartNumber -join " "}}
    

    结果是:

    DisplayName       IsLicensed PrimarySMTP                    Licenses
    -----------       ---------- -----------                    --------
    FirstName LastName      True SMTP:Name@contoso.com          SPE_E5 MCOPSTNC MCOPSTN_5 FLOW_FREE POWERAPPS_VIRAL POWER_BI_STANDARD
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 2017-01-31
      • 2018-03-10
      相关资源
      最近更新 更多