使用 PowerShell 查看 Microsoft 365 许可证和服务

此文章适用于 Microsoft 365 企业版和 Office 365 企业版。

每个 Microsoft 365 订阅包含以下元素:

  • 许可计划 这些计划也称为许可证计划或 Microsoft 365 计划。 许可计划定义可供用户使用的 Microsoft 365 服务。 Microsoft 365 订阅可能包含多个许可计划。 例如,Microsoft 365 E3许可计划。

  • 服务 这些也称为服务计划。 服务是每个许可计划中可用的 Microsoft 365 产品、特性和功能,例如,Exchange Online和Microsoft 365 企业应用版 (以前命名为 Office 365 专业增强版) 。 可以从授予不同服务访问权限的不同许可计划向用户分配多个许可证。

  • 许可证 每个许可计划都包含你购买的许可证数。 将许可证分配给用户,以便他们可以使用许可计划定义的 Microsoft 365 服务。 每个用户帐户至少需要一个许可计划中的一个许可证,以便他们可以登录到 Microsoft 365 并使用服务。

可以使用 PowerShell for Microsoft 365 查看有关 Microsoft 365 组织中可用许可计划、许可证和服务的详细信息。 有关不同Office 365订阅中可用的产品、功能和服务的详细信息,请参阅 Office 365 计划选项

使用 Microsoft Graph PowerShell SDK

首先, 连接到 Microsoft 365 租户

读取订阅许可证计划需要 Organization.Read.All 权限范围或“列出 subscribedSkus”图形 API参考页中列出的其他权限之一。

Connect-Graph -Scopes Organization.Read.All

若要查看有关当前许可计划和每个计划的可用许可证的摘要信息,请运行以下命令:

Get-MgSubscribedSku | Select -Property Sku*, ConsumedUnits -ExpandProperty PrepaidUnits | Format-List

结果包含:

  • SkuPartNumber: 显示组织的可用许可计划。 例如, ENTERPRISEPACK 是 Office 365 企业版 E3 的许可证计划名称。

  • 启用: 为特定许可计划购买的许可证数。

  • ConsumedUnits: 已从特定许可计划分配给用户的许可证数。

若要查看所有许可证计划中可用的 Microsoft 365 服务的详细信息,请首先显示许可证计划的列表。

Get-MgSubscribedSku

接下来,将许可证计划信息存储在变量中。

$licenses = Get-MgSubscribedSku

接下来,显示特定许可证计划中的服务。

$licenses[<index>].ServicePlans

<index> 是一个整数,它指定命令显示 Get-MgSubscribedSku | Select SkuPartNumber 中的许可证计划的行号,减去 1。

例如,如果命令的 Get-MgSubscribedSku | Select SkuPartNumber 显示如下所示:

SkuPartNumber
-------------
WIN10_VDA_E5
EMSPREMIUM
ENTERPRISEPREMIUM
FLOW_FREE

然后,用于显示 ENTERPRISEPREMIUM 许可证计划的服务的命令是:

$licenses[2].ServicePlans

ENTERPRISEPREMIUM 是第三行。 因此,索引值 (为 3 - 1) 或 2。

有关许可证计划的完整列表 (也称为产品名称) 、其包含的服务计划及其相应的友好名称,请参阅 许可的产品名称和服务计划标识符

使用用于图表模块的 Azure Active Directory PowerShell

首先, 连接到 Microsoft 365 租户

若要查看有关当前许可计划和每个计划的可用许可证的摘要信息,请运行以下命令:

Get-AzureADSubscribedSku | Select -Property Sku*,ConsumedUnits -ExpandProperty PrepaidUnits

结果包含:

  • SkuPartNumber: 显示组织的可用许可计划。 例如, ENTERPRISEPACK 是 Office 365 企业版 E3 的许可证计划名称。

  • 启用: 为特定许可计划购买的许可证数。

  • ConsumedUnits: 已从特定许可计划分配给用户的许可证数。

若要查看所有许可证计划中可用的 Microsoft 365 服务的详细信息,请首先显示许可证计划的列表。

Get-AzureADSubscribedSku | Select SkuPartNumber

接下来,将许可证计划信息存储在变量中。

$licenses = Get-AzureADSubscribedSku

接下来,显示特定许可证计划中的服务。

$licenses[<index>].ServicePlans

<index> 是一个整数,它指定命令显示 Get-AzureADSubscribedSku | Select SkuPartNumber 中的许可证计划的行号,减去 1。

例如,如果命令的 Get-AzureADSubscribedSku | Select SkuPartNumber 显示如下所示:

SkuPartNumber
-------------
WIN10_VDA_E5
EMSPREMIUM
ENTERPRISEPREMIUM
FLOW_FREE

然后,用于显示 ENTERPRISEPREMIUM 许可证计划的服务的命令是:

$licenses[2].ServicePlans

ENTERPRISEPREMIUM 是第三行。 因此,索引值 (为 3 - 1) 或 2。

有关许可证计划的完整列表 (也称为产品名称) 、其包含的服务计划及其相应的友好名称,请参阅 许可的产品名称和服务计划标识符

使用Microsoft Azure Active Directory模块进行Windows PowerShell

首先, 连接到 Microsoft 365 租户

注意

PowerShell 脚本可自动执行本主题中描述的过程。 具体而言,该脚本允许查看和禁用 Microsoft 365 组织中的服务,包括Sway。 有关详细信息,请参阅使用 PowerShell 禁用对Sway的访问

若要查看有关当前许可计划和每个计划的可用许可证的摘要信息,请运行以下命令:

Get-MsolAccountSku

注意

PowerShell Core 不支持Windows PowerShell模块和名称为 Msol 的 cmdlet 的 Microsoft Azure Active Directory 模块。 若要继续使用这些 cmdlet,必须从 Windows PowerShell 运行它们。

结果包含以下信息:

  • AccountSkuId: 使用语法 <CompanyName>:<LicensingPlan>显示组织的可用许可计划。 <CompanyName> 是在 Microsoft 365 中注册时提供的值,对于你的组织是唯一的。 LicensingPlan<> 值对每个人都相同。 例如,在 值litwareinc:ENTERPRISEPACK中,公司名称为 litwareinc,许可计划名称ENTERPRISEPACK为 ,这是 Office 365 企业版 E3 的系统名称。

  • ActiveUnits: 为特定许可计划购买的许可证数。

  • WarningUnits: 许可计划中尚未续订且将在 30 天宽限期后过期的许可证数。

  • ConsumedUnits: 已从特定许可计划分配给用户的许可证数。

若要查看所有许可证计划中可用的 Microsoft 365 服务的详细信息,请运行以下命令:

Get-MsolAccountSku | Select -ExpandProperty ServiceStatus

下表显示了 Microsoft 365 服务计划及其最常见服务的友好名称。 服务计划列表可能会有所不同。

服务计划 说明
SWAY
Sway
TEAMS1
Microsoft Teams
YAMMER_ENTERPRISE
Viva Engage
RMS_S_ENTERPRISE
Azure 权限管理 (RMS)
OFFICESUBSCRIPTION
以前名为 Office 365 专业增强版) 的Microsoft 365 企业应用版 (
MCOSTANDARD
Skype for Business Online
SHAREPOINTWAC
Office
SHAREPOINTENTERPRISE
SharePoint Online
EXCHANGE_S_ENTERPRISE
Exchange Online 计划 2

有关许可证计划的完整列表 (也称为产品名称) 、其包含的服务计划及其相应的友好名称,请参阅 许可的产品名称和服务计划标识符

若要查看特定许可计划中可用的 Microsoft 365 服务的详细信息,请使用以下语法。

(Get-MsolAccountSku | where {$_.AccountSkuId -eq "<AccountSkuId>"}).ServiceStatus

此示例显示 litwareinc:ENTERPRISEPACK (Office 365 企业版 E3) 许可计划中可用的服务。

(Get-MsolAccountSku | where {$_.AccountSkuId -eq "litwareinc:ENTERPRISEPACK"}).ServiceStatus

另请参阅

使用 PowerShell 管理 Microsoft 365 用户帐户、许可证和组

使用 PowerShell 管理 Microsoft 365

PowerShell for Microsoft 365 入门