当前位置: 主页 > Office办公 > Office专区 > Office教程 > 如何使用 Office 365 PowerShell 查看授权和未授权的用户帐户

如何使用 Office 365 PowerShell 查看授权和未授权的用户帐户

  • 2021-12-26
  • 来源/作者: 菜鸟图库/ 菜鸟图库
  • 723 次浏览

您的 Office 365 组织中的用户帐户可能已从组织提供的许可计划中分配到部分或全部可用的许可证,或者未分配到任何许可证。您可以使用 Office 365 PowerShell 快速查找您组织中的授权和未授权的用户。

开始之前

本主题中的步骤需要您连接到 Office 365 PowerShell。有关说明,请参阅连接到 Office 365 PowerShell。

如果您使用 Get-MsolUser cmdlet 而无需使用 All 参数,仅可返回前 500 个帐户。

简版(说明不含解释)

此部分介绍的步骤未经任何渲染或过多解释。如果您有任何疑问或想了解更多信息,可以阅读本主题的其余部分。

若要查看组织中所有用户帐户及其授权状态的列表,请在 Office 365 PowerShell 中运行以下命令:

Get-MsolUser -All

若要查看组织中所有未授权用户帐户的列表,请运行以下命令:

Get-MsolUser -All -UnlicensedUsersOnly

若要查看组织中所有授权用户帐户的列表,请运行以下命令:

Get-MsolUser -All | where {$_.isLicensed -eq $true}

长版(说明附有详细解释)

Office 365 用户帐户和 Office 365 许可证无需一一对应:Office 365 用户可以不具有 Office 365 许可证,也可以不向用户分配 Office 365 许可证。(事实上,单个用户帐户甚至可以具有多个Office 365 许可证。)您在创建新的 Office 365 用户帐户时(有关详细信息,请参阅文章使用 Windows PowerShell 许可 Office 365 用户),无需为该用户分配许可证:新用户将具有有效帐户,但无法登录到 Office 365。如果尝试登录,他们将看到如下所示的内容:

如何使用 Office 365 PowerShell 查看授权和未授权的用户帐户

没有有效 Office 365 许可证的用户。

同样,您可能有一个用户需要休假或者休产假/陪产假,因此将要延长时间。在这种情况下,您可以删除用户的许可证,但使用户帐户保持不变(即地址、电话号码等所有属性值保持不变)。这样,您可以将其许可证分配给其他人(例如,接替休假人员的临时工作人员)。用户回到工作岗位后,您可以向其签发新的许可证,他们将可以继续工作,就像从来没有离开过一样。

这就意味着,您确实可以使用户具有帐户但不具有许可证。反之亦然。

文章 使用 Office 365 PowerShell 查看许可证和服务介绍了如何确定您的组织购买的 Office 365 许可证数量,以及为用户分配的这些许可证数量。这是很重要的信息。但了解已向哪些用户分配了这些许可证,哪些用户没有分配许可证同样重要。本文将告诉您如何做到这一点。

您可能已经知道,Get-MsolUser cmdlet 将返回有关所有 Office 365 用户帐户的信息。需要有关所有 Office 365 用户的快速参考信息?请在 Office 365 PowerShell 中运行以下命令:

Get-MsolUser

反之,Get-MsolUser 将返回与以下类似的数据:

UserPrincipalName DisplayName isLicensed

----------------- ----------- ----------

ZrinkaM@litwareinc.com Zrinka Makovac True

BelindaN@litwareinc.com Belinda Newman False

BonnieK@litwareinc.com Bonnie Kearney True

FabriceC@litwareinc.com Fabrice Canel True

AnneW@litwareinc.com Anne Wallace True

AlexD@litwareinc.com Alex Darrow True

正如您所见,返回的其中一个属性值是 isLicensed 属性的值。如果 isLicensed 为 False,则意味着用户没有 Office 365 的许可证。换句话说,如果您愿意,您可以滚动用户列表,并挑选出将 isLicensed 属性设置为 False 的用户。

无论如何,只要您的用户数量相对较少,即可滚动用户列表、尝试挑选出未许可用户。但是,如果您具有大量用户,滚动列表将会非常缓慢。(此外,根据 Windows PowerShell 的配置方式,可能完全无法这样做。这是由于对在 Windows PowerShell 控制台中一次可显示的输出行数存在限制。)

牢记这一点,列出未许可用户的更好方式是转为运行此命令:

Get-MsolUser -UnlicensedUsersOnly

该命令仅返回没有 Office 365 许可证的用户。即:

UserPrincipalName DisplayName isLicensed

----------------- ----------- ----------

BelindaN@litwareinc.com Belinda Newman False

可以看到,我们有一个未许可用户。如果我们仅需要已许可用户列表,应该怎么做?这略显复杂,但仅一点点复杂而已:

Get-MsolUser | Where-Object {$_.isLicensed -eq $true}

查找 isLicensed 属性为 True 的所有用户帐户的命令将返回与以下类似的信息:

UserPrincipalName DisplayName isLicensed

----------------- ----------- ----------

ZrinkaM@litwareinc.com Zrinka Makovac True

BonnieK@litwareinc.com Bonnie Kearney True

FabriceC@litwareinc.com Fabrice Canel True

AnneW@litwareinc.com Anne Wallace True

AlexD@litwareinc.com Alex Darrow True

可以看到,未返回 Belinda Newman 的信息。为什么没有返回?是的,原因是:Belinda 的帐户的 isLicensed 属性未设置为 True。