使用Powershell在Office365中获取有或没有许可证的用户列表(不是共享邮箱)

我需要一种方法来获取Office365中的所有用户帐户(从本地AD与AADSync同步),这不是共享邮箱。 我也需要知道他们是否有执照,但我已经知道了。

我需要这个潜在的分配他们的许可证。

stream程:

  1. 新的AD帐户在场所中创build
  2. 它与AADSync同步到AAD / Office365
  3. 进程向用户查询AAD,并使用自定义逻辑来确定用户是否应该获得许可分配。 新创build的帐户返回并列为没有许可证
  4. 进程将许可证分配给新帐户,因为业务规则如此说明

我如何在这里做第3步?

我目前使用这样的东西:

Get-MsolUser -MaxResults Unlimited | Select-Object UserPrincipalName,IsLicensed,UsageLocation,Licenses 

…但是这也返回共享邮箱,我不想要的。

如果您在步骤1中提供了帐户详细信息,则只需查询您刚刚使用Get-MsolUser -UserPrincipalName user@domain创build的特定UPN的AAD,该UPN将返回该对象以及许可状态。